美文网首页
swift中的.self

swift中的.self

作者: 梁森的简书 | 来源:发表于2021-05-06 11:12 被阅读0次

    有一个Person类

    class Person: NSCoding {
        // required
        func encode(with coder: NSCoder) { }
        
        required init?(coder: NSCoder) { }
        
        var name: String?
        init(name: String?) {
            self.name = name
        }
        required init() { }
        
        static func doSth() {
            print("做事情...")
        }
    }
    

    实例的.self

    Person类的实例的.self还是实例本身

    let p = Person()
    p.self.name = "sss"
    print("name:\(p.name ?? "")")
    

    打印结果:

    name:sss
    

    类的.self

    Person类的.self还是类本身

    Person.self.doSth() // 类型的.self是元类型的值
    

    打印结果:

    做事情...
    

    .Type和.self

    .Type 是类型,类型的 .self 是元类型的值,类型和值不同,就像Int和1的关系。

    相关文章

      网友评论

          本文标题:swift中的.self

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