String與NSString關(guān)系

Swift中,使用字符串有可能會使用Foundation中的NSString和Swift中的String。Swift在底層能夠?qū)tring與NSString無縫地橋接起來,String可調(diào)用NSString的全部API。因為在String中使用NSString,很多String API不具有的功能可以通過調(diào)用NSString API實現(xiàn), 是有些時候類型轉(zhuǎn)換是必要的。String是值類型,而NNString是類,也就是引用類型,它們之間該如何轉(zhuǎn)換呢?關(guān)于值類型和引用類型我們會在第十章類中詳細(xì)講解。這一節(jié)我們來先來學(xué)習(xí)一下它們之間的關(guān)系。

下面我們看一個使用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。在這個這個過程中,我們需要進(jìn)行類型轉(zhuǎn)換要使用as運(yùn)算符將NSString強(qiáng)制類型轉(zhuǎn)換為String。即ocStr as String類似地,第 4行代碼是將String字符串賦值給NSString字符串,這個過程中也發(fā)生了類型轉(zhuǎn)換。但這里我們不需要做任何操作。第 5行代碼聲明并初始化NSString字符串,它是由數(shù)字組成的字符串,這種字符串可以轉(zhuǎn)換為數(shù)字類型。第6行代碼先將NNString類型的ocStr轉(zhuǎn)換為String類型,在轉(zhuǎn)換為Int類型。最后打印出來的intValue的值為56。

上述例子,我們用let用聲明了一個常量字符串,它對應(yīng)得是Object-C的 NNString。當(dāng)們用var聲明了一個變量字符串,它對應(yīng)的是Object-C 的 NSMutableString。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容