DahuangPhoneiOSSwift → Swift中的is、as、 Any 、 AnyObject


  共有7511人关注过本帖树形打印复制链接

主题:Swift中的is、as、 Any 、 AnyObject

帅哥哟,离线,有人找我吗?
dahuangphone
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:407 积分:4533 威望:0 精华:0 注册:2012/9/29 7:54:10
Swift中的is、as、 Any 、 AnyObject  发帖心情 Post By:2014/10/11 21:01:50 [只看该作者]

class Person{

}


class Student:Person{

    

}


class Worker:Person{

    

}


var s1=Student()

var s2=Student()

var s3=Student()

var s4=Student()


var w1=Worker()

var w2=Worker()

var w3=Worker()


var stuCount=0

var workerCount=0


let person:[Person]=[s1,s2,s3,s4,w1,w2,w3]


for item in person{

    if item is Student//is用来判断一个对象是否是一个类的实例

        stuCount++

    }else if item is Worker{

        workerCount++

    }

}


stuCount

workerCount


var p1:Person=Person()

var p2:Person=Student()

var p3:Person=Worker()


if let s1=p2 as? Student//as用来把一个对象从一个类型转换成另一个类型,如果不能确定是否可以转换成功,可以使用as?,成功返回转换后对象,不成功返回nil

    println("student")

}



//Any 可以代表任何类型数据,包括类和其他类型数据

//AnyObject 可以代表任何类的实例


var anything:Any=Person()

anything=1

anything="Person()"


var anyObj:AnyObject=Person()

anyObj=Student()


 回到顶部