0
的selectedSegmentIndex
我編程添加一個UISegmentedControl我UINavigationBar的如下EXC_BAD_ACCESS時試圖讓UISegmentedControl
UISegmentedControl *toggleSwitch = [[UISegmentedControl alloc] initWithItems:[NSArray arrayWithObjects: @"Bar", @"Scatter", nil]];
toggleSwitch.segmentedControlStyle = UISegmentedControlStyleBar;
[toggleSwitch addTarget:self action:@selector(toggleSwitched:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *buttonItem = [[UIBarButtonItem alloc] initWithCustomView:toggleSwitch];
self.navigationItem.rightBarButtonItem = buttonItem;
[toggleSwitch release];
[buttonItem release];
然後我有一個方法,toggleSwitched處理事件:
-(void) toggleSwitched:(id) sender {
if([sender isKindOfClass:[UISegmentedControl class]]) {
NSLog(@"%@",((UISegmentedControl*)sender).selectedSegmentIndex);
}
}
從我閱讀了Apple Documentation,這是設置觸摸事件的事件處理的正確方法。
然而,當我運行程序(在模擬器),然後點擊段,下面的事情發生:
- 如果它是第一段(索引0),「空」登錄到控制檯
- 如果它是第二鏈段(索引1),與EXC_BAD_ACCESS程序崩潰
當我看在調試器的變量窗口,發送者是類型UISegmentedControl和_selectedSegment屬性似乎是正確的(0或1)。
我不正確地訪問什麼,我如何設置我的委託函數來切換UISegmentedController的兩個值?
總是那些簡單的那些得到亞......這就是它。 – Benmj