let infoArray = ["why",18,1.88]
let item = infoArray[0]
if item is String{
print("是一个字符串")
}else{
print("不是一个字符串")
}
//区别:
item.isKindOfClass(UIView.self)判断是否是某种类
as的使用
as的直接使用
一般用于swift类型和OC类型的转化
let urlString = "www.520it.com"
(urlString as NSString).substringToIndex(3)
as?的使用
将NSObject转为确定的类型的可选类型
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