Ios 正在保存核心数据条目,但它们不能直接用于获取,为什么?
为了学习如何重构etc,我将所有的核心数据和nsfetchcontrollers移动到两个类中,一个用于管理所有的核心数据方法,另一个用于处理所有的获取。我有一个问题,上次输入的数据不可见,除非我重新启动应用程序或添加更多数据 我有两个ViewController,第一个(A)显示数据,第二个(B)用户可以输入数据 我的核心数据类是一个单例数据管理器,我的抓取类叫做fetchManager。在每个viewController的ViewDidLoad中,我执行以下操作:Ios 正在保存核心数据条目,但它们不能直接用于获取,为什么?,ios,objective-c,core-data,nsfetchedresultscontroller,Ios,Objective C,Core Data,Nsfetchedresultscontroller,为了学习如何重构etc,我将所有的核心数据和nsfetchcontrollers移动到两个类中,一个用于管理所有的核心数据方法,另一个用于处理所有的获取。我有一个问题,上次输入的数据不可见,除非我重新启动应用程序或添加更多数据 我有两个ViewController,第一个(A)显示数据,第二个(B)用户可以输入数据 我的核心数据类是一个单例数据管理器,我的抓取类叫做fetchManager。在每个viewController的ViewDidLoad中,我执行以下操作: dataManager =
dataManager = [XEPDataManager sharedInstance];
self.managedObjectContext = dataManager.managedObjectContext;
self.fetchManager = [[XEPResultFetchedController alloc] initWithContext:self.managedObjectContext];
然后,在“我在视图中执行提取”中,将出现并显示数据量
1. NSLog(@"Count: %i", [[fetchManager fetch] count]);
在B中,我创建了一个新实体,在返回a之前,我执行了一个保存在ViewWillEnglish中的操作
2.
if (![self.managedObjectContext save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
我正在经历这样的事情:
有人知道它可以是什么吗?原因是上下文上的保存是异步的。完成后你会收到通知。正确的方法是实现nsfetchcontroller的委托方法。这样,当发生某些事情时,您将得到一个回调,您可以相应地更新UI。
,然后我再回到a
。获取和保存的方法是什么(视图将出现:
/视图显示:
/视图将消失:
/其他内容)?是的,很抱歉忘记添加。我在视图中获取显示并在视图中保存将消失您是否使用线程限制?啊,这可以解释一切。因为在我的保存和获取之间应该只有几毫秒。将尝试实现委托方法和某种必须重新绘制ui的侦听器。