我最近注意到一些代码会初始化 ClassName.self() 之类的实例,例如:
let realm = try! Realm.self()
Run Code Online (Sandbox Code Playgroud)
从输出和之后的使用来看,就像没有它一样 - Realm()
使用 .self 进行初始化是否有任何特定原因或用法?
这有点猜测,但我相信在 Realm 上下文中使用的地方遵循了一个被误解的约定,该约定遵循了(一些无关紧要的)Swift 团队解决错误的效果Type.self()
Realm 团队做出了以下承诺,为上述错误的预期解决做好准备:
Type上面提交中的更改(在适当的上下文中更新为)可能Type.self激发了使用 Realm 的代码库也可以Type.self在初始化器上下文中使用,即Type.self(). 然而,这是对该后缀的多余使用.self。
| 归档时间: |
|
| 查看次数: |
737 次 |
| 最近记录: |