0
我有一個Realm模型類,如下所示。Realm中列表的默認值
class Trip: Object {
dynamic var userId: String = ""
dynamic var id: Int = 0
dynamic var startTimestamp: Int64 = 0
dynamic var endTimestamp: Int64 = 0
let bumpLocations = List<BumpLocation>()
let brakeLocations = List<BrakeLocation>()
dynamic var distance: Double = 0.0
dynamic var calories: Double = 0.0
dynamic var averageSpeed: Double = 0.0
}
我創建了這樣的對象。
let tripData: [String: Any] = [
"userId": self.trip!.userId,
"id": self.trip!.id,
"startTimestamp": self.trip!.startTimestamp,
"endTimestamp": self.trip!.endTimestamp,
"distance": self.trip!.distance,
"calories": self.trip!.calories,
"averageSpeed": self.trip!.averageSpeed
]
realm.create(Trip.self, value: tripData, update: true)
在創建這些對象時,不存在要被添加到屬性bumpLocations
和brakeLocations
值。所以我需要爲這些字段添加默認值,對吧?
類型List
的屬性的默認值是什麼?
我碰到了realm.create
。我認爲這是因爲create
函數期望模型類的所有屬性都按照在類中指定的方式在字典中列出。並且由於它缺少bumpLocations
和brakeLocations
,它會混淆從值字典中創建類的順序?如在它中將distance
字段的值添加到bumpLocations
屬性,並將calories
值添加到brakeLocations
屬性等。
我得到的崩潰報告。
得到這個output在調試控制檯。
嗨,感謝您的回覆。但是,我正在'realm.create'發生崩潰。我更新了我相信是原因的問題。我還更改了上面添加的示例代碼,以便更好地說明問題。 – Isuru
你的推理是錯誤的。正如我在我的回答中已經解釋的那樣,這些值有一個默認值,所以你不需要在初始化器中指定一個值。最有可能發生崩潰的原因是'self.trip'爲'nil',但沒有看到更多的代碼,我無法確定。 –
我添加了我得到的崩潰報告,如果有任何幫助。 – Isuru