Swift小知识点之String与NSString的区别和使用

  • 根本区别:String是结构体,NSString是类

    在Swift中,结构体是值类型,值类型被赋予给一个变量、常量或者被传递给一个函数的时候,其值会被拷贝。

    类是引用类型,与值类型不同,引用类型在被赋值到一个变量、常量或者被传递到一个函数时,其值不会被拷贝

  • StringNSString有自身独有的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独有API

      integerValue属性 (转成Int类型,不能转成Int则返回0) 

      @"123444".integerValue;//123444

      boolValue属性 (第一个字符为Y、y、T、t、数字则返回true,否则返回false)

      [NSNumber numberWithBool:@"true".boolValue] // 1

      isEqual方法

          if ([@"小花" isEqualToString:@"小明"]) {
              NSLog(@"等于")
          } else {
              NSLog(@"不等于")
          }

      . . .

       

posted on 2021-05-08 17:35  梁飞宇  阅读(427)  评论(0)    收藏  举报