这很奇怪但是当我分别测试我的两个ViewControllers
时,它们工作得很好。如果它们位于具有以下代码的TabBarController
内部,则它们不再起作用 - 它们不会被加载。我在viewDidLoad
方法中有一个断点,它没有被调用。
在我开始使用CoreData
之前,我已经完成了项目的假设,并且它与此代码完美配合。因此,当视图控制器从CoreData
获取数据时,问题就开始了。
认为CoreData
是问题,我决定在Apple的UITabBarController
示例中实施CoreDataBooks
。它运作得很好。
我发现一些线程解决了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;
}