• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

[复制链接]
菜鸟教程小白 发表于 2022-12-13 12:04:10 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个实体:

  • '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-推荐答案


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

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

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap