类型转化
- is :用来判断一个实例是否是某一种确定的类型
- as :将实例转成某一种类型
is的使用
let infoArray = ["why",18,1.88]
let item = infoArray[0]
if item is String{
print("是一个字符串")
}else{
print("不是一个字符串")
}
//区别:
item.isKindOfClass(UIView.self)判断是否是某种类
as的使用
let urlString = "www.520it.com"
(urlString as NSString).substringToIndex(3)
let item1 = infoArray[0]
let name = item1 as? String
if let name = name {
print(name.charcters.count)
}
print(name?.characters.count)
//简便写法
if let name = infoArray[0] as? String {
print(name.characters.count)
}
- as!的使用
- 将NSObject转成确定的类型,但是如果转化不成功,则程序会崩溃
- 不建议使用,只有类型确定的时候才能使用
let item1 = infoArray[0]
let name = item1 as! String
print(name.characters.count)
//简便写法
let count = (infoArray[0] as! String).characters.count
网友评论