Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 神奇记录-丢失我的实体信息_Ios_Objective C_Core Data_Magicalrecord - Fatal编程技术网

Ios 神奇记录-丢失我的实体信息

Ios 神奇记录-丢失我的实体信息,ios,objective-c,core-data,magicalrecord,Ios,Objective C,Core Data,Magicalrecord,我有一个应用程序,它有一个包含客户信息的TableView 如果单击单元格,我将加载此客户的详细信息 我用魔法记录管理我所有的实体 我在做什么: 1) 加载我的TableView的viewDidLoad上的所有客户实体。 2) 用户单击以查看客户的详细信息 3) 将表示实体客户的对象(仅一个)传递给详图的ViewController 一切正常 问题是,如果用户选择重新加载TableView,我会这样做: 1) 转到API获取所有客户 2) [Customer Truncatell] 3) 在Co

我有一个应用程序,它有一个包含客户信息的TableView

如果单击单元格,我将加载此客户的详细信息

我用魔法记录管理我所有的实体

我在做什么:

1) 加载我的TableView的viewDidLoad上的所有客户实体。
2) 用户单击以查看客户的详细信息
3) 将表示实体客户的对象(仅一个)传递给详图的ViewController

一切正常

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

1) 转到API获取所有客户
2) [Customer Truncatell]
3) 在CoreData上创建所有实体
5) [[NSManagedObjectContext defaultContext]保存到PersistentStore并等待]
6) 重新加载tableview

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

我怎样才能防止这种情况


非常感谢

您可以使用
NSFetchedResultController
来监听您的
客户
实体更改。当您的API调用完成并且您在应用程序的其他地方创建了适当的实体时,控制器会通知您这些更改,然后您可以重新加载数据。如果您不熟悉这个概念,请看。

我知道了。问题是,我如何识别我正在查看的同一个客户?记住,下载完成后,我正在做2)[Customer Truncatell]