Я передаю NSManagedObjectContext из AppDelegate в ViewController. Затем я извлекаю результаты из Core Data. Однако NSManagedObjectContext всегда равен нулю в методе ViewDidLoad, но не в методе ViewDidAppear.Property ViewDidLoad Issues
Я понимаю разницу между этими двумя методами, но я думал, что я должен иметь доступ к свойствам из 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);
}
}
Edit: я прохожу его, как этот
- (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
сделалFinishLaunchingWithOptions – Vikings
Не могли бы вы опубликовать этот код? Состояние вашего контроллера просмотра в файле didFinishLaunching ... зависит от того, используете ли вы раскадровку или самостоятельно инициализируете контроллер просмотра, будь то начальный контроллер представления и т. Д. – Macondo2Seattle