0

I am using .xibs and I want to use Core Data. The simplest answer is to define @property in AppDelegate.h. But I need to fill my model in xml-parser files and I want to fetch data in many controllers. So using [[[UIApplication sharedApplication] delegate] context] there is so ugly. Is there any good-looking solution?

4

2 回答 2

1

请记住,子类的每个对象NSManagedObject也都有上下文。假设您有(经典示例)BookAuthor. 这是 Entitis ofc。关系为 1-n(一位作者 - 多本书)。

我不知道您在这里尝试完成什么,但在许多应用程序中,您拥有主-细节-更多细节 - ... viewControllers。回到例子:

假设您的 MainViewController 是一个AuthorsViewController. 这是一个带有作者的 tableView。你想点击作者,看看他写了什么书。所以在你的BooksViewController你有一个模型属性:

@property (strong,nonatomic) Author *author;

你可以用许多不同的方式设置它。自定义设置器,从 segue 传递...没关系。我敢肯定,这很明显。

这样做的好处是,在您执行此操作后,您的BooksViewController. 每次写:

self.author.managedObjectContext这将是正确的上下文。

因此,当您拥有应用程序时,您可以在单例类或 mainVCnavigationController中或中创建上下文。AppDelegate您只会调用它一次,然后从中调用它NSManagedObject,您将通过。

于 2013-06-21T08:28:29.623 回答
-1

你可以试试这个很棒的教程:core data with a single shared uimanageddocument

于 2013-06-21T09:36:29.940 回答