gpt4 book ai didi

ios - Realm - 将对象添加到另一个对象内的列表

转载 作者:行者123 更新时间:2023-11-28 09:57:28 26 4
gpt4 key购买 nike

我有这门课:

class IndiClass: Object {
dynamic var MediIndiGrpId = 0
dynamic var MediIndiGrpName = ""
let Medis = List<MediClass>()

override static func primaryKey() -> String? {
return "MediIndiGrpId"
}
}

我现在想在列表中添加一个 MediClass 对象。此代码显示了我如何获取对象以及如何尝试添加 MediClass 对象:

//Get a MediClass Object
let medi = realm.objectForPrimaryKey(MediClass.self, key: 1)
// Get the IndiClass Object
let indi = realm.objectForPrimaryKey(IndiClass.self, key: 1)
// Try to add the MediClass Object to the IndiClass Object:
indi!.Medis.append(medi!)

最后一行停止应用程序并在控制台中显示:

Terminating app due to uncaught exception 'RLMException', reason: 'Can't mutate a persisted array outside of a write transaction.'

最佳答案

如错误消息所述,持久化对象的变更必须发生在写入事务中:

// Get a MediClass Object
let medi = realm.objectForPrimaryKey(MediClass.self, key: 1)
// Get the IndiClass Object
let indi = realm.objectForPrimaryKey(IndiClass.self, key: 1)

try! realm.write {
// Try to add the MediClass Object to the IndiClass Object:
indi!.Medis.append(medi!)
}

关于ios - Realm - 将对象添加到另一个对象内的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34772786/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com