亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Swift > 正文

詳解Swift中的數據類型類型轉換

2020-03-09 17:47:53
字體:
來源:轉載
供稿:網友

一、類型檢查與轉換

在Objective-C和Java中,任何類型實例都可以通過強轉使編譯器認為它是另一種類型的實例,這么做其實是將所有的安全檢查工作都交給了開發者自己來做。先比之下,Swift中的Optional類型轉換就會比較安全與可靠。

Swift中使用is關鍵字來進行類型的檢查,其會返回一個布爾值true或者false來表明檢查是否成立,示例如下:

var str = "HS"if str is String {  print(str)}

Swift中有向上兼容與向下轉換的特性,就是說,一個父類類型的集合可以接收子類的實例,同樣,在使用這些實例變量時可以將其向下轉換為子類類型,示例如下:

//自定義一個類及其子類class MyClass {  var name:String?}class MySubClassOne: MyClass {  var count:Int?}class MySubClassTwo: MyClass {  var isBiger:Bool?}//創建3個實例var obj1 = MyClass()obj1.name = "HS"var obj2 = MySubClassOne()obj2.count = 100var obj3 = MySubClassTwo()obj3.isBiger=true//將實例存放在其公共父類類型的數組集合中var array:[MyClass] = [obj1,obj2,obj3]//進行遍歷for var i in 0..<array.count {  var obj = array[i]  if obj is MySubClassOne {    print((obj as! MySubClassOne).count!)    continue  }  if obj is MySubClassTwo {    print((obj as! MySubClassTwo).isBiger!)    continue  }  if obj is MyClass {    print(obj.name!)  }}

有一點需要注意,在進行類型轉換時,可以使用as!或者as?來進行,as!是一種強制轉換方法,它在開發者確定類型無誤是使用,如果用as!轉換的類型有誤,則會出現運行時錯誤。as?是Optional類型轉換,如果轉換失敗,則會返回nil。

二、Any和AnyObject類型

在Objective-C中,常常使用id來表示引用類型的泛型,Swift中的AnyObject與之類似。示例如下:

//進行遍歷for var i in 0..<array.count {  var obj = array[i]  if obj is MySubClassOne {    print((obj as! MySubClassOne).count!)    continue  }  if obj is MySubClassTwo {    print((obj as! MySubClassTwo).isBiger!)    continue  }  if obj is MyClass {    print((obj as! MyClass).name!)  }}

Any類型則比AnyOject類型更加強大,其可以混合值類型和引用類型一起工作,示例如下:

var anyArray:[Any] = [100,"HS",obj1,obj2,false,(1.1),obj3,{()->() in print("Closures")}]

上面示例的數組中包含了整型,字符串類型,引用類型,布爾類型和閉包。

 


注:相關教程知識閱讀請移步到swift教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩福利在线观看| 久久久最新网址| 国产98色在线| 国产精品福利在线观看| 正在播放欧美视频| 国产一区深夜福利| 国产成人+综合亚洲+天堂| 亚洲国产小视频| www.99久久热国产日韩欧美.com| 国产精品久久99久久| 亚洲自拍偷拍第一页| 欧美精品成人在线| 日韩电影免费在线观看中文字幕| 中文字幕国产亚洲2019| 91视频-88av| 精品夜色国产国偷在线| 国产精品嫩草影院一区二区| 毛片精品免费在线观看| 欧美激情精品久久久久久大尺度| 九九九热精品免费视频观看网站| 欧美丰满少妇xxxxx做受| 中文字幕日韩精品在线| 91av在线视频观看| 中文字幕在线国产精品| 国产精品美女在线观看| 亚洲曰本av电影| 亚洲男人的天堂在线| 欧美精品电影在线| 久久久久久中文字幕| 性欧美长视频免费观看不卡| 国产日韩欧美在线播放| 日韩免费黄色av| 91极品女神在线| 国产精品久久久久久久一区探花| 国产一区二区三区三区在线观看| xxxxxxxxx欧美| 亚洲无限乱码一二三四麻| 色综合老司机第九色激情| 亚洲欧美一区二区三区四区| 中文字幕亚洲情99在线| xxxx欧美18另类的高清| 夜色77av精品影院| 亚洲免费视频在线观看| 亚洲xxxx妇黄裸体| 欧美裸身视频免费观看| 久久久精品在线观看| 在线精品播放av| 亚洲精品91美女久久久久久久| 成人高h视频在线| 亚洲黄色有码视频| 欧美视频精品一区| 狠狠久久亚洲欧美专区| 国产精品久久久久久久app| 久久久久久久久久久91| 日本欧美在线视频| 亚洲精品视频免费在线观看| 97成人在线视频| 久久久久久久久久久网站| 2024亚洲男人天堂| 激情久久av一区av二区av三区| 亚洲欧美日韩精品久久| 亚洲美女福利视频网站| 欧美成人午夜视频| 热久久美女精品天天吊色| 亚洲电影av在线| 久久久www成人免费精品| 国产一区二区三区高清在线观看| 51精品在线观看| 欧美日韩激情视频| 亚洲精品国产精品国产自| 国产精品私拍pans大尺度在线| 日韩av色综合| 欧美理论电影网| 在线看日韩av| 欧美黑人狂野猛交老妇| 欧美日韩在线视频一区二区| 91豆花精品一区| 国产日韩精品在线| 亚洲国产精品久久91精品| www国产91| 国产精品久久久久久久久久久久久| 中文字幕亚洲欧美一区二区三区| 久久久国产影院| 国产一区二区av| 国产欧美精品久久久| 国产精品久久精品| 国产精品∨欧美精品v日韩精品| 97久久久久久| 国产精品极品尤物在线观看| 亚洲大胆美女视频| 国产精品h片在线播放| 欧美成人自拍视频| 欧美巨乳美女视频| 国产日韩中文在线| 精品调教chinesegay| 亚洲第一二三四五区| 国产精品爱久久久久久久| xvideos国产精品| 夜夜嗨av色一区二区不卡| 日韩高清欧美高清| 亚洲色图狂野欧美| 日韩av资源在线播放| 视频直播国产精品| 欧美激情18p| 色青青草原桃花久久综合| 色偷偷88888欧美精品久久久| 国产精品爽爽爽爽爽爽在线观看| 日本高清不卡的在线| 日韩一级黄色av| 国内外成人免费激情在线视频网站| 欧美激情视频给我| 亚洲国产天堂久久综合网| 狠狠躁夜夜躁人人爽天天天天97| 亚洲男人天堂网| 成人亚洲欧美一区二区三区| 成人网中文字幕| www欧美日韩| 丰满岳妇乱一区二区三区| 欧美激情一区二区三区在线视频观看| 欧美噜噜久久久xxx| 欧美日本啪啪无遮挡网站| 国产精品女人网站| 色综合男人天堂| 亚州欧美日韩中文视频| 一区二区三区久久精品| 久久99国产精品久久久久久久久| 欧美成人精品不卡视频在线观看| 亚洲最大成人免费视频| 亚洲国产精品va在线看黑人动漫| 久久激情五月丁香伊人| 欧美中文在线字幕| 亚洲一区二区日本| 欧美日韩xxxxx| 精品久久久国产| 国产美女91呻吟求| 国产成人福利视频| 欧美在线精品免播放器视频| 日韩中文字幕在线免费观看| 精品电影在线观看| 欧美综合激情网| 亚洲最大成人在线| 国产啪精品视频| 国产精品极品美女粉嫩高清在线| 伊人激情综合网| 久久大大胆人体| 欧美日韩国产丝袜美女| 欧美日韩久久久久| 亚洲精品福利免费在线观看| 国内外成人免费激情在线视频网站| 亚洲mm色国产网站| 国产日韩欧美综合| 日韩一区二区三区xxxx| 色yeye香蕉凹凸一区二区av| 在线观看欧美日韩| 国产一区二区免费| 亚洲美女黄色片| 亚洲国产欧美精品| 一本色道久久88综合日韩精品| 久久亚洲一区二区三区四区五区高| 亚洲网站在线看| 国产精品99久久久久久久久| 国产精品精品视频一区二区三区| 亚洲欧美制服丝袜| 亚洲aaaaaa|