2009-07-20 70 views
0

我目前正在使用中的AppDelegate下面的代碼做出的UIBarButtonItem充當開關和調節的RootViewController的班布爾變量:的UIBarButtonItem撥動開關布爾

- (void)applicationDidFinishLaunching:(UIApplication *)application {  
... 
toggleSwitch = [[UIBarButtonItem alloc] initWithTitle:@"English" style:UIBarButtonItemStylePlain target:self action:@selector(togglePress:)]; 
... 
} 

然後選擇是後話在AppDelegate中:

-(IBAction) togglePress:(id)sender { 
RootViewController *viewController; 

if (viewController.searchEnglish) { 
    viewController.searchEnglish = NO; 
    toggleSwitch.title = @"English"; 

} 
else { 
    viewController.searchEnglish = YES; 
    toggleSwitch.title = @"OtherLanguage"; 
} 

}

我基本檢查,看看是否從RootViewController的類BOOL設置爲YES,如果它被再設置它爲NO並將按鈕的標題更改爲「OtherLanguage」,否則做相反的事。但是,當我運行該程序並單擊該按鈕時,BOOL變量和標題不會更改,應用程序會凍結並崩潰。我究竟做錯了什麼?

回答

0

您沒有設置在你顯示的代碼的viewController牛逼Ø什麼,你RootViewController的是空...所以ofcourse應用程序會崩潰

0

你正在分配一個新的viewController,設置切換,然後釋放它。基本上,你什麼都不做。爲了完成你想要做的(我認爲),刪除發佈和分配,並將viewController設置爲顯示切換的實際視圖控制器。

+0

當這樣的程序似乎當我按下按鈕崩潰。 – Kulpreet 2009-07-20 20:41:58