我正在使用.xibs,我想使用Core Data。最简单的答案是在AppDelegate.h中定义@property
。但我需要在xml-parser文件中填充我的模型,我想在许多控制器中获取数据。所以使用[[[UIApplication sharedApplication] delegate] context]
就太难看了。
有什么好看的解决方案吗?
答案 0 :(得分:1)
请记住,子类NSManagedObject
的每个对象也都有上下文。
假设您有(经典示例)Book
和Author
。这是Entitis ofc。关系1-n(一位作者 - 多本书)。
我不知道你在这里尝试完成了什么,但是在许多应用程序中你都掌握了详细信息 - 更多细节 - ... viewControllers。回到例子:
让我们说你的MainViewController是AuthorsViewController
。这是一个有作者的tableView。你想点击作者,看看他写的是什么书。所以在你的BooksViewController
中你有一个模型属性:
@property (strong,nonatomic) Author *author;
您可以通过多种方式设置它。自定义setter,从segue传递...没关系。我相信这很明显。
在这样做之后,您已经在BooksViewController
中拥有了一个上下文。每次你写:
self.author.managedObjectContext
这将是正确的背景。
因此,当您拥有navigationController
应用时,您可以在AppDelegate
或单例类或mainVC中创建上下文。您只需拨打一次,然后从NSManagedObject
调用它即可通过。
答案 1 :(得分:-1)
您可以尝试这个很棒的教程:core data with a single shared uimanageddocument