美文网首页iOS-Developer-SwiftiOS Developer
IOS开发-Swift3.0如何获取对象或类的类型

IOS开发-Swift3.0如何获取对象或类的类型

作者: 我喜欢下雨天 | 来源:发表于2016-12-10 11:43 被阅读2952次

代码示例运行环境为 IOS10,Swift3.0

在swift3.0下获取类或者对象的 类型 需要分两种情况。


类继承于NSObject
自定义类User

class User: NSObject {
}

此时获取类型的方法为

let user = User()
let classType1:AnyClass = User.classForCoder()
let classType2:AnyClass = User.self
let objectType1:AnyClass = user.classForCoder
let objectType2:AnyClass = type(of:user)

其中classForCoder()classForCoder返回的是AnyClass,而另外两个方法返回的是User.Type,AnyClass可以通过user.classForCoder as! User.Type转换为实际的类型。


纯Swift类
跟继承自NSObject类相比,不能通过 classForCoder来实现。

如果有任何疑问或者是文中存在技术性错误,请留言,我会尽快回复或者更改。

相关文章

网友评论

    本文标题:IOS开发-Swift3.0如何获取对象或类的类型

    本文链接:https://www.haomeiwen.com/subject/cuoymttx.html