所以我最近在Swift中学习了Realm,并且遇到了关于数据模型之间潜在通知的设计问题。如果有人愿意提供一些见解,将不胜感激。
// Class A is what users mainly interact with
Class A: Object {
dynamic var propertyA = ""
dynamic var propertyB = ""
dynamic var propertyC = ""
override static func primaryKey() -> String? {
return "propertyA"
}
}
// Class B is what the server interacts with, like data feeding
Class B: Object {
dynamic var propertyA = ""
dynamic var propertyX = ""
dynamic var propertyY = ""
dynamic var propertyZ = ""
override static func primaryKey() -> String? {
return "propertyA"
}
}
我在控制器内设置了Object A
的通知块。因此,只要在resultObjectsA
中发生更改,通知块就会被触发。
let resultObjectsA = realm.objects(A).filter('predicate1')
let notificationTokenA = resultObjectsA.addNotificationBlock {
...
}
在我正在构建的应用程序中,用户可以选择一组Object A
,应用程序将从服务器查询选择集的状态。返回结果将存储/显示在Object B
中。现在,我需要为Object B
:
let resultObjectsB = realm.objects(B).filter('predicate2')
这样propertyA
条目中的resultObjectB
可以在propertyA
条目的resultObjectsA
中找到,就像一对一的映射一样。
我不确定这样的谓词是否可行。如果还有其他方法可以实现我想在这里做的事情,我也非常渴望学习。