AppController에 AppDelegate의 NSManagedObjectContext를 전달하고 있습니다. 그런 다음 Core Data의 결과를 가져옵니다. 그러나 NSManagedObjectContext는 ViewDidLoad 메서드에서는 항상 nil이지만 ViewDidAppear 메서드에서는 그렇지 않습니다.속성 ViewDidLoad 문제
두 가지 방법의 차이점을 이해했지만 ViewDidLoad에서 속성에 액세스 할 수 있어야한다고 생각했습니다. Apple의 샘플 코드에서이 작업을 수행하는 것으로 나타났습니다.
그냥 ViewDidAppear에서 가져와야합니까?
- (void)viewDidLoad
{
[super viewDidLoad];
// This code crashings because my because my Context is nil
NSError *error;
if (![[self fetchedResultsController] performFetch:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
exit(-1);
}
}
편집 : 난 내가 확신 할 것이라고 대답 할 수있는 충분한 정보가없는이
- (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RootViewController *rootViewController = [[RootViewController alloc] initWithNibName:@"RootViewController" bundle:nil];
rootViewController.managedObjectContext = self.managedObjectContext;
UINavigationController *rootNav = [[UINavigationController alloc] initWithRootViewController:rootViewController];
self.tabBarController = [[UITabBarController alloc] init];
self.tabBarController.viewControllers = [NSArray arrayWithObjects:rootNav, nil];
self.window.rootViewController = self.tabBarController;
[self.window makeKeyAndVisible];
return YES;
}
여기서 'NSManagedObjectContext'를 뷰 컨트롤러로 전달하고 있습니까? – Macondo2Seattle
didFinishLaunchingWithOptions – Vikings
해당 코드를 게시 할 수 있습니까? didFinishLaunching의보기 컨트롤러 상태는 스토리 보드를 사용 중인지 또는 초기보기 컨트롤러인지 여부에 따라 달라집니다. – Macondo2Seattle