Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/40.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
Core data ios5核心数据:nsfetchresultcontroller刷新uitable_Core Data_Ios5_Storyboard - Fatal编程技术网

Core data ios5核心数据:nsfetchresultcontroller刷新uitable

Core data ios5核心数据:nsfetchresultcontroller刷新uitable,core-data,ios5,storyboard,Core Data,Ios5,Storyboard,我正在开发一个应用程序,其中包含故事板的核心数据。该应用程序将uitabbarcontroller作为rootview。我已经创建了实体并生成了类。每个选项卡都有自己的导航控制器。选项卡1中的视图只是将uilabels中的一些数据保存在数据库中。它工作正常,数据保存在数据库中。 选项卡2中的视图在uitableview中显示数据库中的数据。只有在我关闭并重新启动应用程序时,才会显示数据。因此ui表不会被刷新。 第一种方法:我已将managedobject上下文从应用程序委托传递给这两个视图。所以

我正在开发一个应用程序,其中包含故事板的核心数据。该应用程序将uitabbarcontroller作为rootview。我已经创建了实体并生成了类。每个选项卡都有自己的导航控制器。选项卡1中的视图只是将uilabels中的一些数据保存在数据库中。它工作正常,数据保存在数据库中。 选项卡2中的视图在uitableview中显示数据库中的数据。只有在我关闭并重新启动应用程序时,才会显示数据。因此ui表不会被刷新。 第一种方法:我已将managedobject上下文从应用程序委托传递给这两个视图。所以ui表在终止并重新启动之前不会被刷新。 第二种方法:我(mis)使用了app委托,但结果仍然相同

MyApplicationDelegate *appDelegate = (MyApplicationDelegate *)[[UIApplication sharedApplication] delegate];
如何实现一个视图只向核心数据添加数据(现在是这样),而第二个视图收到更改通知并在uitableview中显示

编辑 这是使用核心数据模板时的代码。仅在我的应用程序中进行了调整。我的双视图控制器中有它

编辑2 我已在uitableview控制器中实现。
受管理对象返回数据库中数据的确切数量,但ui表不会刷新。我也做了
[self.tableview reloaddata]
,但运气不好

在2选项卡中应该会有一些东西,当数据库中的数据更改时会通知更新新数据,是否有?如果

NSManagedObjectContext,NSFetchedResultsController
在2个选项卡中 实现
NSFetchedResultsController
委派方法

在appdelegate中

secTab.managedObjectContext = self.managedObjectContext;

当然,它现在可以在viewController中工作了,使用UITableVIew实现了的方法。该文档全面实现了这些方法


然后使您的viewController成为NSFetchedResultsController的代理
fetchedResultsController.delegate=self

是的,正如我在帖子中所写,我确实将managedobjectcontext从应用程序委托传递到两个视图。但它不会刷新。是否有任何机制通知从1个选项卡到2个选项卡的更改?一般来说,机制是通知或NSFetchedResultsController委托方法。这是我的问题,如何做到这一点。我有一个nsfetchresultcontroller。请查看我正在更新的问题。我已设置fetchedResultsController.delegate=self;还有这三种方法。托管对象上下文计数返回数据库中数据的确切数量,但它没有显示。我再次检查了它。我不知道NSFetchResultController中出现了什么问题,我将tableview beginupdate放在了错误的位置。但现在效果很好。我错误地使用sharedapp委托在我的视图中设置托管对象上下文。不知道它是否是最佳实践。不知何故,您可能有两个不同的托管对象上下文。此外,听起来您需要在退出选项卡1时保存上下文。
secTab.managedObjectContext = self.managedObjectContext;