我对我的项目中的多个领域的体系结构有疑问。请考虑以下模型:
@objcMembers class Book: Object {
dynamic var bookID = UUID().uuidString
dynamic var title: String = ""
dynamic var year: Int = 0
override static func primaryKey() -> String {
return "bookID"
}
}
我想做的是能够喜欢一本书或将其放入购物清单。 我想到的第一个解决方案是针对以下三个默认领域:
RealmBooks
RealmLiked
RealmShopping
使用这种相当简单的方法,我被迫拥有多个领域。将来,我想将上述Realms的数据同步到Realm Cloud。因此,要避免这种情况,是否有可能将RealmLiked
和RealmShopping
的数据组合在一起的体系结构?这可能是对象类型UserSettings
:
@objcMembers class UserSettings: Object {
dynamic var userID = UUID().uuidString
let likedBooks = List<Book>()
let shoppingListBooks = List<Book>()
override static func primaryKey() -> String {
return "userID"
}
}
然后,我将简单地同步UserSettings,这就像主领域一样。显然,其余的RealmBooks
将在单独的领域中同步。所有这些的原因是由于试图使我的项目保持简单以及限制Up to 3 Realm Instances在Realm Platform Cloud的标准版本中进行同步所致。
我想知道这种情况下的最佳实践。非常感谢您的帮助。