【问题标题】:Why does RestKit's ManagedObjectRequestOperation with PUT not update CoreData为什么带有 PUT 的 RestKit 的 ManagedObjectRequestOperation 不更新 CoreData
【发布时间】:2013-04-17 07:55:32
【问题描述】:

我有以下代码:

NSMutableURLRequest *request = [[ObjectManager sharedInstance] requestWithObject:managedObj 
method:RKRequestMethodPUT path:nil parameters:nil];

(在我的 ObjectManager 中有该对象的注册请求和响应描述符)。

然后我创建一个带有该请求的RKManagedObjectRequestOperation[NSManagedObjectContext MR_defaultContext] 作为我的上下文,并将请求排入队列。

响应成功后,模型对象会更新为新数据,但不会保存到 CoreData。我必须在 success 块中调用 [[NSManagedObjectContext MR_defaultContext] saveToPersistentStore:nil]; 才能保存它。

当我发出POST 请求时,会在CoreData 中创建新模型。当我更新模型时,它不会使用 PUT 保存到 CoreData。

【问题讨论】:

  • 你为什么不使用 RKManagedObjectStore mainQueueManagedObjectContext?为什么不使用更高级别的 API?
  • 你能举一个使用更高级别API的例子吗?
  • 我们正在使用带有 MagicalRecord 的 RestKit,所以这可能就是我们不使用它们的原因。无论如何,我们通过分配“MR_contextForCurrentThread”而不是默认上下文来解决这个问题。

标签: ios core-data restkit put


【解决方案1】:

我们正在使用 RestKit 和 MagicalRecord。我们对contextForCurrentThreaddefaultContext 感到困惑。当我们迁移为仅使用 contextForCurrentThread 时,PUT 请求按我们的意愿工作。

【讨论】:

    猜你喜欢
    • 2015-01-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-05
    相关资源
    最近更新 更多