lowercasestring 什么意思

高手,请说下,lowercasestring 什么意思
最新回答
失心

2025-03-30 00:51:50

lower case string
小写的字符串
lower case string
小写的字符串
玖歌

2025-03-30 08:25:57

首先说下共同点,就是String保留了大部分NSString的api比如.hasPrefix.lowercaseString.componentsSeparatedByString.substringWithRange等等所以很多常规操作在开发中使用两者之一都是可以的,下面说下区别。NSString是引用类型。SwiftString是值类型。varnsString:NSString=NSString()varswiftString:String=String()varnsString:NSString="dsx"varswiftString:String="dsx"两者都可以使用自己的类名来直接进行初始化,下面的方法也是初始化,虽然写法相同,但是NSString的意思是初始化了一个指针指向了这个字符串,但SwiftString的意思则是把字符串字面量赋值给变量。SwiftString字符串之间的拼接比NSString方便NSString需要用append或者stringWithFormat将两个字符串拼接NSString*strA=@"Myname";NSString*strB=@"isdsx";strA=[strAstringByAppendingString:strB];而SwiftString只需要用“+”即可varstrA="Myname"varstrB="isdsx"strA="Myname"+"isdsx"strA=strA+strBprintln(strA)在swift最开始的语法是允许字符串和字符之间直接使用“+”拼接的,但是swift1.2以后就不能这么做了,字符串与字符直接只能用append衔接了。SwiftString可以实现字符串遍历SwiftString可以实现遍历输出一个字符串内部的所有字符,这是NSString所做不到的,因为前者继承了CollectionType协议(swift2后不再继承此协议,改成通过一个characters属性来提供一个字符的集合)//swift1.2forcharaterin"Mynameisdsx"{println(charater)}//swift2.0forcharacterin"Mynameisdsx".characters{print(character)}swift的字符串更像是多个字符元素组合而成有序列的一个产物,像但不是集合类;如果把上面的“Thisisabook”后面加上asNSString则会报如下错误:Type'NSString'doesnotconformtoprotocol'SequenceType'在swift2.0以后写asString也会报上面错误,2.0将原来String继承的SequenceType和CollectionType协议都下沉到了String.CharacterView来继承,感觉苹果这么做的目的是为了减少资源浪费。SwiftString计算字符串长度的方法与NSString不同varstrA:String="mc梦"varstrB:NSString="mc梦"print(strA.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))//5print(strA.characters.count))//3print(strB.length);//3NSString直接使用字符串.length就可以获得字符串的长度,但是String敲.length只能敲出.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)这么算汉字的存储空间就是英文的3倍。swift真正的类似于.lengh的方法就是取出characters属性(数组)然后.countSwiftString比较字符串相等的方式与NSString不同letstrA:NSString=""letstrB:NSString=""letstrC:NSString="dsx"letstrD:NSString="dsx"if(strA.isEqualToString(strBasString)){print("yes");}if(strC==strD){print("yes");}NSString有一个方法isEqualToString方法用来判断两个字符串是否完全相等,String没有这个方法,但是因为String是值类型所以可以直接用==判断是否完全相等。NSString可以同基本数据类型见转化varstrA:NSString="12306"varstrB:NSString="0.618"