gpt4 book ai didi

ios - 使用 Realm 存储数据,添加对象清除列表中的对象

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

我刚刚开始使用 Realm 以及 ObjectMapper 来保存数据。我遇到的问题是:

ObjectInList最初的id = 0和symbol =“CA”,映射后它具有不同的数据,例如id = 0,symbol =“First Name,Last name”。

let database开始之前,我已将数据存储在profileDictionary变量中,并且在database.add(profileDictionary)之后对象List的内容更改为最初的数据喜欢

id = 0

符号=“CA”

有趣的是变量 testInt 没有改变它的值并且等于 10。

感谢您的建议!

class ObjectInList: Object, Mappable{
dynamic var id : Int = 0
dynamic var symbol : String = "CA"

convenience required init?(_ map: Map) {
self.init()
}

func mapping(map: Map) {
id <- map["id"]
symbol <- map["symbol"]
}
}

class ProfileDictionaries: Object, Mappable{
dynamic var testInt : Int = 20
var states = List<ObjectInList>()

convenience required init?(_ map: Map) {
self.init()
}

func mapping(map: Map) {
// ObjectMapper does not support List<Object>() collections.
testInt = 10
var array: [ObjectInList] = []
array <- map["states"]
states.appendContentsOf(array)
}
}

SwiftEventBus.onMainThread(self, name: Constants.ServerResponse.PROFILE_DICTIONARIES_SUCCESS){
result in

let profileDictionary = result.object as? ProfileDictionaries ?? ProfileDictionaries()
self.removeDatabase()

do{
let database = try Realm()
try! database.write {
database.add(profileDictionary)
let localProfileDictionaries = database.objects(ProfileDictionaries)
}
catch let error as NSError{
print(error)
self.removeDatabase()
}
}

最佳答案

这篇文章对我有帮助 - Swift Realm: After writing transaction reference set to nil

我们应该在 LLDB 调试器中使用 PO 而不是 P - 数据存储正确!

关于ios - 使用 Realm 存储数据,添加对象清除列表中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36841416/

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