美文网首页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