2

通过托管文档使用核心数据时,我遇到了一些问题。
我有一个多选项卡应用程序,每个选项卡必须显示单个数据库的不同实体。
为了初始化托管文档,我创建了一个帮助类方法来实例化托管文档、创建它、打开它并添加 plist 文件中的所有数据。接下来,它调用一个块,该块是该方法的参数。这样,我可以从一个选项卡视图中调用所有这些,并通过(通过一个块)创建 fetchedResultsController 的方法。

+ (UIManagedDocument *)openDatabaseAndUseBlock:(completion_block_t)completionBlock;

我这样做是因为我知道数据库打开需要一段时间,而且如果我在打开之前设置 FRC,它将无法正常工作。所以我在打开数据库时执行的块中调用块...。

在标签之间切换时出现了我的问题。我在所有视图中调用这个辅助方法(带有相应的块)viedDidLoad,我认为这会导致数据损坏,因为所有的节省都完成了。

有什么方法可以在第一个视图上只调用一次帮助方法,然后将上下文传递给所有其他选项卡,以确保即使我在开始时快速切换选项卡,它也会起作用?

或者也许我做错了所有的过程,还有另一种方法可以让所有这些工作?我对 Core Data 完全陌生。

提前致谢!

4

0 回答 0