swift中any和anyobject互相转换
在Swift中,可以使用as关键字将Any类型转换为AnyObject类型,也可以使用as?或as!将AnyObject类型转换为Any类型。
将Any类型转换为AnyObject类型:
let anyValue: Any = "Hello"
let anyObjectValue = anyValue as AnyObject
将AnyObject类型转换为Any类型:
let anyObjectValue: AnyObject = "Hello"
let anyValue = anyObjectValue as Any
需要注意的是,as关键字会尝试进行转换,如果转换失败会导致运行时错误。为了避免运行时错误,可以使用as?进行可选转换,如果转换失败则返回nil。另外,使用as!进行强制转换,如果转换失败会导致运行时错误。
可选转换:
let anyObjectValue: AnyObject = "Hello"
let anyValue = anyObjectValue as? Any
强制转换:
let anyObjectValue: AnyObject = "Hello"
let anyValue = anyObjectValue as! Any
需要注意的是,as?和as!只能用于AnyObject类型到Any类型的转换,不能用于其他类型之间的转换
原文地址: http://www.cveoy.top/t/topic/hQxR 著作权归作者所有。请勿转载和采集!