swift中的.self
2021-05-06 本文已影响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的关系。