TabBarController не загружает ViewControllers с CoreData - PullRequest
0 голосов
/ 04 июля 2011

Странно, но когда я тестирую свои два ViewControllers по отдельности, они работают просто отлично.Когда они находятся внутри TabBarController со следующим кодом, они больше не работают - они не загружаются.У меня есть точка останова в методе viewDidLoad, который не вызывается.

Я сделал фиктивный свой проект до того, как начал работать с CoreData, и он отлично работал с этим кодом.Так что проблема началась, когда контроллеры представления получили свои данные от CoreData.

Думая, что проблема была CoreData, я решил реализовать UITabBarController в примере CoreDataBooks от Apple.Это работало просто отлично.

Я обнаружил, что некоторые потоки решают некоторые проблемы с CoreData и TabBarControllers, но в них используется IB.В моем проекте нет файлов .xib!

Я не в курсе.Предложения будут очень благодарны!

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    UITabBarController *tabBarController = [[UITabBarController alloc] init];

    ProjectRootViewController *projectRootViewController = [[ProjectRootViewController alloc] initWithStyle:UITableViewStylePlain];
    WorkTimeRootViewController *workTimeRootViewController = [[WorkTimeRootViewController alloc] initWithStyle:UITableViewStylePlain];

    NSManagedObjectContext *context = [self managedObjectContext];
    if (!context) 
    {
        NSLog(@"Problems loading context.");
    }

    projectRootViewController.managedObjectContext = context;
    workTimeRootViewController.managedObjectContext = context;

    UINavigationController *projectNavigationController = [[UINavigationController alloc] initWithRootViewController:projectRootViewController];
    UINavigationController *workTimeNavigationController = [[UINavigationController alloc] initWithRootViewController:workTimeRootViewController];

    [projectRootViewController release];
    [workTimeRootViewController release];

    navigationControllers = [[NSArray alloc] initWithObjects:projectNavigationController, workTimeNavigationController, nil];

    [projectNavigationController release];
    [workTimeNavigationController release];

    [tabBarController setViewControllers:navigationControllers];  

    [self.window addSubview:[tabBarController view]];

    [tabBarController release];

    [self.window makeKeyAndVisible];

    return YES;
}
...