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

iOS RestKit 人工识别属性

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

已链接 RestKit issue #1604

如果我的 API 没有给我 id 属性,但我仍然想通过 Core Data 缓存对象,我应该使用什么来识别我的对象。 例如我有

response =  {
  translation =     {
          text = "longlongtext";
          dictionary = "general";
          lang = "en";
      };
  otherdata =     {
          author = "May";
          date = "434134";
      };
}

所以我很乐意使用散列 (md5) 翻译文本作为 id 字符串。 请注意,我 future 在没有网络连接的情况下发生的请求应该能够识别这个缓存的实体并将其作为结果。

我无法声明映射以填充 [translation.text md5hash] 中的 responseID 属性以用作 responseMapping.identificationAttributes = @[ responseID ]; 因为映射没有这样的功能。



Best Answer-推荐答案


@segiddins 在 github 问题讨论中提出:

... in your managed object subclass, hook into one of the core data callbacks to generate a compound key that is saved as part of the model and just use that key as your identification attribute.

方法可能如下所示:

@property (nonatomic, copy) NSString *identifier;


- (void)willSave
{
    [super willSave];

    NSString *computedIdentifier = [[NSString stringWithFormat"%@%@", self.text, self.langCode] md5hash];
    [self setPrimitiveValue:computedIdentifier forKey"identifier"];
}

关于iOS RestKit 人工识别属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18874384/

回复

使用道具 举报

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

本版积分规则

关注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