類型轉(zhuǎn)化

類型轉(zhuǎn)化

  • is :用來(lái)判斷一個(gè)實(shí)例是否是某一種確定的類型
  • as :將實(shí)例轉(zhuǎn)成某一種類型

is的使用

  • 用來(lái)判斷某一個(gè)實(shí)例是否是某一種確定的類型
let infoArray = ["why",18,1.88]
let item = infoArray[0]
if item is String{
   print("是一個(gè)字符串")
}else{
   print("不是一個(gè)字符串")
}
//區(qū)別:
item.isKindOfClass(UIView.self)判斷是否是某種類

as的使用

  • as的直接使用
    • 一般用于swift類型和OC類型的轉(zhuǎn)化
let urlString = "www.520it.com"
(urlString as NSString).substringToIndex(3)
  • as?的使用
    • 將NSObject轉(zhuǎn)為確定的類型的可選類型
let item1 = infoArray[0]
let name = item1 as? String
if let name = name {
print(name.charcters.count)
}
print(name?.characters.count)
//簡(jiǎn)便寫法
if let name = infoArray[0] as? String {
   print(name.characters.count)
}
  • as!的使用
    • 將NSObject轉(zhuǎn)成確定的類型,但是如果轉(zhuǎn)化不成功,則程序會(huì)崩潰
    • 不建議使用,只有類型確定的時(shí)候才能使用
let item1 = infoArray[0]
let name = item1 as! String
print(name.characters.count)
//簡(jiǎn)便寫法
let count = (infoArray[0] as! String).characters.count
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容