gpt4 book ai didi

ios - 如何在 Realm 中实现继承(iOS,Objective C)

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:39:38 24 4
gpt4 key购买 nike

我有一个实体:

  • '人' - 抽象类。
  • 'Contact' - Person 的子类
  • 'User' - Person 的子类
  • 'Activity' - 包含一个 relatedPerson 作为 Person 类型,但它可以是 Contact 或 User。

我的问题:当我缓存“Activity”时,Realm 将 relatedPerson 缓存为“Person”类型,并丢失了“User”或“Contact”的所有数据。如何解决这个问题?

我的类结构是

@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

最佳答案

Realm 还不直接支持继承您想要的类型。在 GitHub issue 1109 中跟踪对它的支持.与此同时,您可以在 @jpsim 对该问题的评论中看到几种不同的模拟继承的方法。和 @mrackwitz .哪种方法最适合您将取决于您的模型的要求。

关于ios - 如何在 Realm 中实现继承(iOS,Objective C),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33758361/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com