ViewWillAppear
永远不会自动调用我必须手动调用它们。ViewWillDisappear
虽然经常被称为。
我不知道在哪里调试这个。
我想问题是因为我在 4.1 上创建了人们必须viewWillAppear
明确调用的应用程序。
我想,因为viewWillAppear
将根据它与窗口的关系被调用,所以我可以检查我viewController
的窗口是否有出口。
我该怎么做?
我怀疑问题出在我的代表身上:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[Crashlytics startWithAPIKey:@"a08863b514ef09558ba82fec070cc7468fdbeeae"];
if(getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled"))
{
NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}
[self.window addSubview:self.navController.view]; //This seem to be the problem. I should have specified the viewController and not the view
[self.navController pushViewController:self.MainBadgerApplication animated:YES];
//[cachedProperties singleton].lastAnchor =[cachedProperties currentLocation];
[cachedProperties singleton].currentAnchor=[cachedProperties currentLocation];
self.MainBadgerApplication.selectedIndex=0;
[BNUtilitiesQuick tabBarController:self.MainBadgerApplication didSelectViewController:self.MainBadgerApplication.selectedViewController];
[self.window makeKeyAndVisible];
return YES;
}
我怀疑 [self.window addSubview:self.navController.view]; 是问题。
我在 ios5 之前也听说过你必须显式调用 viewController。那么我是否应该为 ios5 和 ios4 创建一个不同的程序(不像为我的程序调用两次 viewController 有任何危险)