我有一个实体:
- 'Person' - 抽象类。
- 'Contact' - Person 的子类
- 'User' - Person 的子类
- 'Activity' - 包含一个 relatedPerson 作为 Person 类型,但它可以是 Contact 或 User。
我的问题:当我缓存“事件”时,Realm 将相关人员缓存为“人员”类型,并丢失了“用户”或“联系人”的所有数据。如何解决这个问题?
我的类(class)结构是
@interface Person : RLMObject
@property NSString *uID;
- (NSString *)displayName;
...
@end
@interface Contact : Person
@property NSString *fullName;
...
@end
@interface User : Person
@property NSString *nickname;
...
@end
@interface Activity : RLMObject
@property NSString *uID;
@property NSDate *createdAt;
@property Person *relatedPerson;
@end
Best Answer-推荐答案 strong>
Realm 尚不直接支持您所追求的类型的继承。在 GitHub issue 1109 中跟踪对它的支持.与此同时,您可以在 @jpsim 发表的该问题的评论中看到一些模拟继承的不同方法。和 @mrackwitz .哪种方法最适合您将取决于您的模型的要求。
关于ios - 如何在 Realm 中实现继承(iOS,Objective C),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/33758361/
|