12.Swift学习之Any、AnyObject与类型转化

/ Mac / 没有评论 / 1250浏览

12.Swift学习之Any、AnyObject与类型转化

Any、AnyObject

类型转化符号

例子

// 1.定义数组
let array : [Any] = [12, "zhangsan"]

// 2.取出数组中的第一个和最后一个元素
let objcFirst = array.first!
let objcLast = array.last!

// 3.判断第一个元素是否是一个Int类型
if objcFirst is Int {
    print("是Int类型")
} else {
    print("非Int类型")
}

// 4.转成真正的类型来使用
// 4.1.as? 将Any转成可选类型,通过判断可选类型是否有值,来决定是否转化成功了
let name = objcLast as? String
print(name) // 结果:Optional("zhangsan")

// 4.2.as! 将Any转成具体的类型,如果不是该类型,那么程序会崩溃
let name2 = objcLast as! String
print(name2) // 结果:zhangsan