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

    前提 在swift 开发过程中,尤其是第三方库中,我们多次看到首字母大写的Self,很多时候不明白其中意思,Sel...

  • Swift中self和Self

    是什么 相信大家都知道self这个关键字的具体作用,它跟OC里的self基本一样。但是对于Self来说...(WT...

  • Swift中的Self

    Self 作为返回值 一般作为返回值, 返回自己的类的对象.这种时候我们可以使用Self替代类名, 这样对于定义协...

  • Swift中的self

    先来看一段代码 当然这段代码是有些问题的,但是却对研究我们今天的主题却是非常有用。 执行后打印出来的内容是这样的 ...

  • swift中的Self

    方法内部使用Self 可以用于获取当前类的静态变量(不管是在实例方法里还是静态方法里) 协议中使用Self 1.可...

  • swift中的.self

    有一个Person类 实例的.self Person类的实例的.self还是实例本身 打印结果: 类的.self ...

  • Swift中Self和self的区别

    当编写protocol和针对protocol进行扩展时,Self(大写S)和self(小写S)之间存在差异。当与大...

  • Weak self and unowned self expla

    Swift 中的 Weak self 和 unowned self 对我们许多人来说很难理解。 尽管 Automa...

  • Swift中weak与unowned的区别

    在Swift的闭包中为了避免循环引用的问题,通常用[weak self] 或者[unowned self], 前者...

  • Swift中Self的使用

    Swift中Self的使用 用于消除访问属性,调用方法时所产生的歧义。 当函数的参数名和自身的属性名同名时,例如:...

网友评论

      本文标题:swift中的.self

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