String与NSString关系
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
???
在Swift中,使用字符串有可能會(huì)使用Foundation中的NSString和Swift中的String。Swift在底層能夠?qū)tring與NSString無(wú)縫地橋接起來(lái),String可調(diào)用NSString的全部API。因?yàn)樵赟tring中使用NSString,很多String API不具有的功能可以通過(guò)調(diào)用NSString API實(shí)現(xiàn), 是有些時(shí)候類型轉(zhuǎn)換是必要的。String是值類型,而NNString是類,也就是引用類型,它們之間該如何轉(zhuǎn)換呢?關(guān)于值類型和引用類型我們會(huì)在第十章類中詳細(xì)講解。這一節(jié)我們來(lái)先來(lái)學(xué)習(xí)一下它們之間的關(guān)系。
下面我們看一個(gè)使用String和NSString的示例代碼:
| ??1 | ?import Foundation ??2 | ?let ?ocStr : NSString = "Swiftos" ??3 | ?let swiftStr : String = ocStr as String ??4 | ?let ocString2 : NSString = swiftStr ??5 | ?let ocStr2 : NSString = "56" ??6 | ?let intValue = Int(ocStr2 as String) ??7 | ?print(intValue!) |
運(yùn)行結(jié)果:56
要想使用NSString,需要引入Foundation或Cocoa。代碼第1行是引入Foundation,第2行代碼聲明并初始化NSString字符串ocStr,第3行代碼是 NSString字符串賦值給String字符串變量swiftStr。在這個(gè)這個(gè)過(guò)程中,我們需要進(jìn)行類型轉(zhuǎn)換要使用as運(yùn)算符將NSString強(qiáng)制類型轉(zhuǎn)換為String。即ocStr as String類似地,第 4行代碼是將String字符串賦值給NSString字符串,這個(gè)過(guò)程中也發(fā)生了類型轉(zhuǎn)換。但這里我們不需要做任何操作。第 5行代碼聲明并初始化NSString字符串,它是由數(shù)字組成的字符串,這種字符串可以轉(zhuǎn)換為數(shù)字類型。第6行代碼先將NNString類型的ocStr轉(zhuǎn)換為String類型,在轉(zhuǎn)換為Int類型。最后打印出來(lái)的intValue的值為56。
????上述例子,我們用let用聲明了一個(gè)常量字符串,它對(duì)應(yīng)得是Object-C的 NNString。當(dāng)們用var聲明了一個(gè)變量字符串,它對(duì)應(yīng)的是Object-C 的 NSMutableString。
?
轉(zhuǎn)載于:https://my.oschina.net/u/2971691/blog/888491
總結(jié)
以上是生活随笔為你收集整理的String与NSString关系的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Elasticsearch学习笔记-05
- 下一篇: HyperLink的使用