我正在使用iOS,正在保存产品。并且该产品的模型中还有更多内容
让我们假设以下模型
@objcMembers public class ProductModel : Object, Codable {
dynamic var Id : Int = 0
dynamic var Name : String = 0
dynamic var Price : Double = 0.0
}
,另一个包含ProductModel的模型(CustomerModel)如下
@objcMembers public class CustomerModel : Object, Codable {
dynamic var Id : Int = 0
dynamic var Name : String = 0
var Product : ProductModel? = nil
}
现在,当我用内部产品保存客户时,可以看到在Realm中成功保存了产品。但是,当且仅当该对象不在Realm中时,
假设这个
let customer1 = CustomerModel()
customer1.Id = ...
customer1.Name = .....
customer1.Product = product1
现在,此客户数据已保存。但是,如果我尝试保存以下数据,则会出现异常
let customer2 = CustomerModel()
customer2.Id = ...
customer2.Name = .....
customer2.Product = product1
请注意,customer2还希望保存已经保存在Realm中的产品信息,即“ product1”。
那么如何处理这种情况。
我正在尝试使用以下针对领域对象的通用功能保存数据
func save <T: Object> (_ obj : T){
do {
try realmObj.write{
realm.add(obj)
}
}catch{}
}
问题2:
我也想获得所有客户,我知道该怎么做,但是问题是它从来没有在客户内部检索产品。我可以在Realm DB Browser中看到与产品一起保存的客户,该客户表也包含Product的引用。但是,当我尝试吸引所有客户时,该客户只有客户详细信息,而没有产品详细信息。而那一定在那里。
答案 0 :(得分:4)
只需在您的媒体资源之前放置dynamic
关键字
dynamic var Product : ProductModel? = nil