根本區(qū)別:String
是結(jié)構(gòu)體,NSString
是類(lèi)
在Swift中,結(jié)構(gòu)體是值類(lèi)型,值類(lèi)型被賦予給一個(gè)變量、常量或者被傳遞給一個(gè)函數(shù)的時(shí)候,其值會(huì)被拷貝。
類(lèi)是引用類(lèi)型,與值類(lèi)型不同,引用類(lèi)型在被賦值到一個(gè)變量、常量或者被傳遞到一個(gè)函數(shù)時(shí),其值不會(huì)被拷貝
String
與NSString
有自身獨(dú)有的API,如果用到自身沒(méi)有的API時(shí)也可以相互轉(zhuǎn)換
String
獨(dú)有API
初始化String
變量
var string = String()
string = "123"
isEmpty
屬性
string.isEmpty //bool
sorted()
方法 (字符串排序并返回[Character]
)
"31-ab2".sorted() //["-","1","2","3","a","b"]
filter
方法 (過(guò)濾字符)
"12 4d sf".filter{ $0 != " " } //124dsf
dropFirst(_ k: Int = 1)
方法 (刪除開(kāi)頭k個(gè)元素)
"124dsf".dropFirst(2) // 4dsf
reversed()
方法 (顛倒字符串)
String("124dsf".reversed()) //fsd421
NSString
獨(dú)有API
integerValue
屬性 (轉(zhuǎn)成Int類(lèi)型,不能轉(zhuǎn)成Int則返回0)
boolValue
屬性 (第一個(gè)字符為Y、y、T、t、數(shù)字則返回true,否則返回false)
isEqual
方法
.
.
.