2012-10-22 42 views
1

我想在我的應用程序UISegmentedControl中使用類似於Windows中的TabBar組件。我的ValueChanged使用處理器:UISegmentedControl:ValueChanged處理程序上的EXC_BAD_ACCESS

- (IBAction)tabBarChange:(id)sender{ 
    int pageId = tabBar.selectedSegmentIndex; 
    // [self switchPage:pageId]; 
} 

switchPage現在是空的功能,代碼沒有一行寫的。

但是,在粘貼SegmentedControl時,出現EXC_BAD_ACCESS異常。

我做錯了什麼?

+1

此操作 - (IBAction)tabBarChange:(id)發件人連接到XIB中的UISegmentControl – AppleDelegate

+0

是的,它已連接。 – Andrey

+1

當您嘗試使用視圖控制器的任何ivars或屬性時,您會獲得'EXC_BAD_ACCESS'?聽起來像你的視圖控制器可能已被釋放。你是如何轉換到這個視圖控制器的?希望不是通過執行'addSubview',而是通過'presentViewController'或'pushViewController'。無論如何,如果你爲任何ivar或財產獲得'EXC_BAD_ACCESS',那麼告訴我們你是如何轉換到這個視圖控制器的。 – Rob

回答

0

所以,我明白,這方法墜毀:

- (IBAction)tabBarChange:(id)sender { 
    [self switchPage:sender.selectedSegmentIndex]; 
} 

如果你嘗試做一些測試功能,不傳遞任何參數,將它的工作,例如:

- (IBAction)tabBarChange:(id)sender { 
    [self testFunction]; 
} 

- (void) testFunction { 
    NSLog(@"test"); 
} 
1

tabBar是否真的在那個函數中定義?豈不是:

int pageId = sender.selectedSegmentIndex; 

+0

它仍然無法正常工作。如果我chage到 - (IBAction)tabBarChange:(id)發件人{int pageId = tabBar.selectedSegmentIndex; int pageId = 0; [self switchPage:pageId]; } EXC_BAD_ACCESS也會出現 – Andrey