在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
声明几个类: //动物类 class Animal{ } //陆地动物类 class terricole: Animal { } //海洋动物类 class SeaAnimals: Animal { } 1,is 用来做类型检查 let cat = terricole() let fish = SeaAnimals() let arr = [cat,fish] for anima in arr { if anima is terricole{ print("这是陆地动物") }else if anima is SeaAnimals{ print("这是海洋动物") } } 2, as 用来做类型转换(注:如果不确定类型转换能否成功,可以在 as 后面加问号 “?”) for animas in arr { if let c = animas as? terricole{ print("这是陆地动物") }else if let w = animas as? SeaAnimals{ print("这是海洋动物") } }
3,AnyObjective:代表任何class类型的对象实例 let dogs = terricole() let shark = SeaAnimals() let arrs:[AnyObject] = [dogs,shark] for animaes in arrs { if let d = animaes as? terricole{ print("这是个爬行动物") }else if let e = animaes as? SeaAnimals{ print("这是个水生动物") } }
4, Any:范围更广,代表处函数外任何类型的实例 var myAry:[Any] = [Any]() myAry.append(1) myAry.append("hero11223") myAry.append(terricole()) myAry.append(SeaAnimals()) print("\(myAry)") for any in myAry { switch any { case let any as Int: print("这是个int类型") case let any as String: print("这是个String类型") case let any as terricole: print("这是个陆地动物类型") case let any as SeaAnimals: print("这是个水生动物类型") default: print("这是个未知类型") } } 打印如下:
|
请发表评论