魔法记录 - 丢失我的实体信息

时间:2014-04-16 17:31:10

标签: ios objective-c core-data magicalrecord

我的应用程序有一个带有客户信息的TableView。

如果单击一个单元格,我会加载该客户的详细信息。

我正在使用魔法记录来管理我的所有实体。

我在做什么:

  

1)在我的TableView的viewDidLoad上加载所有CUSTOMER实体   2)用户点击查看客户的详细信息   3)将详细信息传递给ViewController,该对象代表实体CUSTOMER(只有一个)。

一切都运作良好。

问题是,如果用户选择重新加载TableView,我会这样做:

  

1)转到API以获取所有客户   2)[客户截断所有]
  3)在CoreData上创建所有实体   5)[[NSManagedObjectContext defaultContext] saveToPersistentStoreAndWait]
  6)重新加载tableview

但是,如果用户在此过程中单击以查看客户的详细信息,则以下ViewController会在一段时间内正确显示客户信息。然后 [Customer truncateAll]发生所有信息死亡。

我该如何防止这种情况?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您可以使用NSFetchedResultController来监听Customer实体更改。当您的API调用完成并在应用程序中的其他位置创建正确的实体时,您将在控制器中收到有关这些更改的通知,然后您可以重新加载数据。如果您不熟悉此概念,请查看here