NSFetchedResultsController不更新更新NSManagedObjects

时间:2012-02-28 12:31:56

标签: ios core-data nsfetchedresultscontroller nsmanagedobject

使用以下代码更新实体中的瞬态属性(我猜其他属性)

[passedObject setValue:distanceNumber forKey:@"distance"];

NSFetchedResultsController从获取结果中删除对象。

我想我必须做[fetchedresultscontroller performFetch:&error]再次进行获取,但没有任何反应,对象不会回来获取结果。

我缺少什么?如何在运行时更新对象而不是从提取NSFetchResultController

中删除

由于

3 个答案:

答案 0 :(得分:1)

取材的标准是什么?你使用谓词吗?最有可能的是,您对实体所做的更改使其与获取谓词不匹配。当您进行更改然后保存它时,这将导致当前提取的结果控制器被上下文已更改的托管对象上下文通知。然后,获取的结果控制器检查所有更改并采取适当的操作。它将删除不再符合原始获取条件的对象。

如果你展示了进行原始获取的代码,有人可能会告诉你究竟是什么问题。

答案 1 :(得分:1)

BillKast,

瞬态属性是特殊的,不参与获取请求。您可以将它们视为磁盘上始终为零。

我会使用获取请求而不是获取的结果控制器来进行更简单的实验。

此外,请删除应用版本并将属性类型更改为永久属性。我怀疑你会看到不同的行为。

由于您没有列出任何代码,我恐怕没有其他建议。瞬态属性是您可能遇到的问题。

安德鲁

答案 2 :(得分:1)

谢谢你们的帮助!

我在想,对于瞬态属性,您不需要保存上下文。 错误。 这就是问题,我只需要保存上下文。

再次感谢。