【发布时间】:2011-08-11 17:59:50
【问题描述】:
我有一个应用程序可以正常工作。
但是,我在 rootViewController 的 viewDidLoad 方法的第一行放置了一个断点,在我的委托的 didFinishLaunchingWithOptions 的第一行放置了另一个断点,
令我惊讶的是,应用程序进入了 viewDidLoad 方法,然后进入了 didFinishLaunchingWithOptions,然后又执行了一次 viewDidLoad 方法。
发生了什么事?我认为这种行为是完全错误的。
提前谢谢你!
# 已编辑这是我 iPad 的委托 didFinishLaunchingWithOptions 方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
UtilXML *utilXML = [[UtilXML alloc] init];
[utilXML startXMLCommunication];
int quantidadeDeComicsBaixadas = [utilXML quantidadaDeComicsBaixadas];
main_iPad *mainiPad = [[main_iPad alloc] init];
mainiPad.quantidadeDeComicsBaixadas = quantidadeDeComicsBaixadas;
mainiPad.navigationItem.title = @"TitleFirstScreen";
UIBarButtonItem *botaoSobre = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:mainiPad action:@selector(goToAboutView)];
mainiPad.navigationItem.rightBarButtonItem = botaoSobre;
navController = [[UINavigationController alloc] initWithRootViewController:mainiPad];
navController.navigationBar.tintColor = [UIColor orangeColor];
navController.navigationBar.translucent = YES;
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES;
}
这是我 iPhone 的代理 didFinishLaunchingWithOptions 方法:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[[UIApplication sharedApplication] setStatusBarHidden:NO];
UtilXML *utilXML = [[UtilXML alloc] init];
[utilXML startXMLCommunication];
int quantidadeDeComicsBaixadas = [utilXML quantidadaDeComicsBaixadas];
main_iPhone *mainiPhone = [[main_iPhone alloc] init];
mainiPhone.quantidadeDeComicsBaixadas = quantidadeDeComicsBaixadas;
mainiPhone.navigationItem.title = @"TitleFirstScreen";
UIBarButtonItem *botaoSobre = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:mainiPhone action:@selector(goToAboutView)];
mainiPhone.navigationItem.rightBarButtonItem = botaoSobre;
navController = [[UINavigationController alloc] initWithRootViewController:mainiPhone];
navController.navigationBar.tintColor = [UIColor orangeColor];
navController.navigationBar.translucent = YES;
[self.window addSubview:navController.view];
[self.window makeKeyAndVisible];
return YES;
}
这两种设备都会出现这种奇怪的行为。
【问题讨论】:
-
您能否再描述一下您的应用程序委托内部发生了什么?您是否有多个应用程序委托文件? (即 iPhone/iPad)
标签: ios delegates viewdidload