Swift3.0- 类型转换、Any、AnyObject(可选链)
/*
* 类型转换
*/
print("\n可选链--类型转换")
class Entitys{//角色原型
var name = ""
init(entityName:String) {
name = entityName
}
func showTag() {
}
}
class Hero:Entitys{//英雄人物
var race = ""
override func showTag() {
print("拯救世界")
}
}
class Monster:Entitys{//怪物类
var level = 0
override func showTag() {
print("你是我的食物")
}
}
var h:Entitys = Hero(entityName:"张三丰")
h.showTag()
//is 关键字判断一个对象是不是某个子类的对象
var bb = h is Hero
print(bb)
//类型转换
var hero = h as! Hero
//Any和AnyObject类型转换
//Any--任何数据类型
print("\n1、Any--任何数据类型")
var arr = Array<Any>()
arr.append(1)
arr.append(true)
arr.append("hello")
print(arr)
var any:AnyObject = 1 as AnyObject
print(any)
any = "swift" as AnyObject
print(any)
any = hero
print(any)
//AnyObject--任何对象(不包括Int,Long,Float,Double类型)