gpt4 book ai didi

ios - Realm Swift - 复制现有的嵌套对象

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

我是 Realm 的新手,我正在尝试制作一个简单的应用程序。我目前正在使用这个模型:

class Item: Object{
dynamic var title = ""
dynamic var created = Date(timeIntervalSince1970: 1)
dynamic var price = 0.0
dynamic var image = ""
dynamic var store: Store?
}

class Store: Object{
dynamic var name = ""
}

当我保存我的新项目时,我会这样做:

@IBAction func saveItem(){
/*some validations*/

let item = Item()
item.title = name
item.price = 20.00
item.created = Date()

if let store = chosenStore{
item.store = store
}

do{
try realm.write {
realm.add(item)
}
}catch{
print(error.localizedDescription)
}
}

问题是我已经添加了 5 个商店,但是当我保存一个选择了商店的项目时,它会创建一个新的商店。如何在不创建新商店的情况下保留对特定商店的引用?

最佳答案

为您的商店提供独特的属性。例如 UUID。

dynamic var uuid = UUID().uuidString

重写 Store 模型的 primaryKey 函数,并返回之前创建的唯一属性。

override class func primaryKey() -> String? {
return "uuid"
}

它应该可以解决问题。

关于ios - Realm Swift - 复制现有的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41781622/

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