Swift3.0- 类型转换、Any、AnyObject(可选链)

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()
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类型)


你可能感兴趣的:(iOS-Swift)