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

ios - 休息套件 : How to manually set the value of a managed object property?

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

RestKit中被对象管理器管理的托管对象属性的值如何手动设置?

我创建了一个带有持久存储的 RKObjectManager 用于核心数据持久性。

我向对象管理器添加了一个 RKEntityMapping 和一个 RKResponseDescriptor。

现在我可以像这样调用对象管理器了:

[[RKObjectManager sharedManager]
 getObjectsAtPath"/path_to_ressource"
 parameters:nil
 success:^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {
    // success
} failure:^(RKObjectRequestOperation *operation, NSError *error) {
    // report error
}];

并且数据很好地显示在 UITableView 中(我为此使用了 NSFetchedResultsController)。 一切看起来都很好,我的数据被持久化了。

现在我想向实体添加一个属性,该属性取决于响应描述符的键路径。 我应该怎么做?在哪里做?

我的第一次尝试:

我将属性添加到核心数据实体,然后我在上面代码的成功 block 中尝试了这个:

for (Entity *s in mappingResult.dictionary[@"CurrentEntities"]) {
    s.isCurrent = [NSNumber numberWithBool:YES];
}

for (Entity *s in mappingResult.dictionary[@"OldEntities"]) {
    s.isCurrent = [NSNumber numberWithBool:NO];
}

假设 json 看起来像这样:

{
    CurrentEntities: [{ id: 10, title: "bhubhbhu"}, { id: 11, title: "ezeze"}, ...],
    OldEntities: [{ id: 0, title: "rf-reref"}, { id: 1, title: "vcvcvcvcv"}, ...]
}

将新的本地属性设置为 YES 或 NO 后,我确实可以在我的表格 View 中看到结果,但看起来这些更改没有保留。

有什么想法吗?

编辑:

嗯,似乎保存上下文会使更改正确持久:

NSError *error = nil;
[[RKManagedObjectStore defaultStore].mainQueueManagedObjectContext saveToPersistentStore:&error];

编辑:

实际上看起来我必须在每个对象更改后保存上下文,否则我会收到 Core Data 错误。



Best Answer-推荐答案


如您所见,您只需保存所做的编辑即可。因为您尝试设置的值不基于用于下载数据的 URL 中的任何内容或有效负载数据(值)的内容,所以您最简单的选择就是后处理和保存。与映射过程进行交互并注入(inject)值将需要更多代码。

关于ios - 休息套件 : How to manually set the value of a managed object property?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17066214/

回复

使用道具 举报

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

本版积分规则

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