【发布时间】:2018-08-24 07:09:24
【问题描述】:
我在 Swift 中有一个惰性变量,例如:
import Realm
class DataUser: RLMObject {
@objc dynamic lazy var id: String = self.myId()
@objc dynamic var firstTime: Int = 0
@objc dynamic var position: Int = 0
private func myId() -> String {
return “\(firstTime)\(position)”
}
我收到这条消息:
** 由于未捕获的异常“RLMException”而终止应用程序,原因:Realm Swift 对象上不允许使用“惰性托管属性“id” 班级。要么将该属性添加到忽略的属性列表中,要么使 它不懒惰。'
在 Swift 和 Realm 中使用惰性变量的正确方法是什么?
谢谢!
【问题讨论】:
-
建议的副本实际上并没有回答如何忽略托管属性(或使其成为非托管)的问题,而是处理复合属性,这似乎不是。
-
为你的 id 覆盖 getter 并让它变得懒惰
标签: ios swift variables realm dynamic-variables