2016-08-15 1 views
0

내 ViewController에 핵심 데이터를로드하려고합니다. ViewDidLoad 메서드 내부.OS X Core 데이터가 ViewController에서 초기화되지 않지만 AppDelegate에서 작동합니다

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 

내가 응용 프로그램을 실행할 때 내가 찾은 다른 것은 자사가 AppDelegate에 전화를합니다 그 후 먼저의 ViewController를 초기화합니다.

무엇이이 문제에서 잘못 되었습니까? 내 viewcontroller 데이터를로드 할 수 있습니까?

답변

1

핵심 데이터 스택을 응용 프로그램 대리인과 'TTDatabase'로 이동해야합니다. 그런 다음, 첫 번째 인스턴스가 생성되고 생성 된 곳마다 종속성이 없어 제대로 구성됩니다.

0

어쨌든 나는 그것을하는 까다로운 방법을 발견했다. AppDelegate가 초기화 된 후에 ViewController 메소드를 호출하게됩니다.

[TTDatabase sharedDatabaseWithManagedObjectContext:self.managedObjectContext]; 

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

이것은 화면에 표시되지 않는 새로운 VC 인스턴스를 만듭니다 ... – Wain

관련 문제