class 名称后的 .self 是做什么用的? Swift 3
What is .self after a class name used for? Swift 3
我最近注意到一些代码会初始化像 ClassName.self() 这样的实例,例如:
let realm = try! Realm.self()
从输出结果和之后的使用来看,就像没有它一样 - Realm()
使用 .self 进行初始化是否有任何特定原因或用途?
这有点猜测,但我相信 do 在 Realm 上下文中使用 Type.self()
的地方遵循了一个错误的约定,该约定遵循(有些无关紧要) Swift 团队解决错误的影响
Realm 团队的以下提交是为上述错误的预期解决做准备:
上面提交中的更改(Type
更新为 Type.self
,在适当的上下文中)可能会激发使用 Realm 的代码库也使用 Type.self
在初始化上下文中,即 Type.self()
。但是,这是对 .self
后缀的多余使用。
我最近注意到一些代码会初始化像 ClassName.self() 这样的实例,例如:
let realm = try! Realm.self()
从输出结果和之后的使用来看,就像没有它一样 - Realm()
使用 .self 进行初始化是否有任何特定原因或用途?
这有点猜测,但我相信 do 在 Realm 上下文中使用 Type.self()
的地方遵循了一个错误的约定,该约定遵循(有些无关紧要) Swift 团队解决错误的影响
Realm 团队的以下提交是为上述错误的预期解决做准备:
上面提交中的更改(Type
更新为 Type.self
,在适当的上下文中)可能会激发使用 Realm 的代码库也使用 Type.self
在初始化上下文中,即 Type.self()
。但是,这是对 .self
后缀的多余使用。