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