因此,我最近一直在Swift中学习Realm,并且遇到了关于数据模型之间潜在通知的设计问题。如果有人愿意提供一些见解,将不胜感激。Swift中的领域查询的交叉引用谓词
// 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
条目中找到,像一个一对一的映射。
我不确定这样的谓词是否可行。如果还有其他方法可以实现我想要在这里做的事情,我也更愿意学习。