OS X核心数据不是在ViewController中初始化,而是在AppDelegate中工作

时间:2016-08-15 05:27:06

标签: objective-c macos core-data

我试图将我的核心数据加载到我的ViewController。在ViewDidLoad方法中。

NSLog(@"Stored Tasks.... %@",[TTDatabase getAllTasks]);

但它总是给我+entityForName: nil is not a legal NSManagedObjectContext parameter searching for entity name 'Tasks'

但是当我在AppDelegate中调用同样的东西时,它工作正常。

[TTDatabase sharedDatabaseWithManagedObjectContext:self.managedObjectContext];

NSLog(@"Stored Tasks.... %@",[TTDatabase getAllTasks]); // This Works

并且我发现的另一件事是当我运行应用程序时首先初始化ViewController然后它将调用AppDelegate。

我在这个问题上做错了什么?如何在我的viewcontroller中加载数据?

1 个答案:

答案 0 :(得分:0)

无论如何,我发现了一个棘手的方法。在AppDelegate初始化之后,我将调用我的Viewcontroller方法。

[TTDatabase sharedDatabaseWithManagedObjectContext:self.managedObjectContext];

    ViewController * vc = [[ViewController alloc]init];
    [vc loadData];