Swift小知识点之String与NSString的区别和使用
-
根本区别:
String
是结构体,NSString
是类在Swift中,结构体是值类型,值类型被赋予给一个变量、常量或者被传递给一个函数的时候,其值会被拷贝。
类是引用类型,与值类型不同,引用类型在被赋值到一个变量、常量或者被传递到一个函数时,其值不会被拷贝
-
String
与NSString
有自身独有的API,如果用到自身没有的API时也可以相互转换-
String
独有API初始化
String
变量var string = String() string = "123"
isEmpty
属性string.isEmpty //bool
sorted()
方法 (字符串排序并返回[Character]
)"31-ab2".sorted() //["-","1","2","3","a","b"]
filter
方法 (过滤字符)"12 4d sf".filter{ $0 != " " } //124dsf
dropFirst(_ k: Int = 1)
方法 (删除开头k个元素)"124dsf".dropFirst(2) // 4dsf
reversed()
方法 (颠倒字符串)String("124dsf".reversed()) //fsd421
-
NSString
独有APIintegerValue
属性 (转成Int类型,不能转成Int则返回0)@"123444".integerValue;//123444
boolValue
属性 (第一个字符为Y、y、T、t、数字则返回true,否则返回false)[NSNumber numberWithBool:@"true".boolValue] // 1
isEqual
方法if ([@"小花" isEqualToString:@"小明"]) { NSLog(@"等于") } else { NSLog(@"不等于") }
. . .
-