,我得到一個異常:UISegmented控制拋出異常
- [UIRoundedRectButton selectedSegmentIndex]:無法識別的選擇發送到實例0x8178b90;
'
(它也被初始化爲 - (IBAction爲)genderBtn:(ID)發送者;在頭文件)。
我不知道我是否應該以某種方式初始化到這一點的另一種方法或沒有或全局初始化。任何方法的想法將不勝感激。
- (IBAction)submitButton:(id)sender {
double BAC=0;
// NSString *weight=weightTextField.text;
//Other variables etc.
UISegmentedControl *gender = (UISegmentedControl *)sender;
UIButton *gender = (UIButton *)sender;
if (gender.selected == 0) {
} else if (gender.selected = 1){
}
UIAlertView *alertMessage = [[UIAlertView alloc] initWithTitle:@"Your Results:"
message:[NSString stringWithFormat:@" Your Percentage is: "]
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertMessage show];
}
我比較新的到iOS,我想在提交按鈕操作中使用UISegmentedControl中的if語句。這可能嗎?我將分段控件的操作設置爲提交按鈕的視圖控制器中的發送事件,並且仍然出現相同的錯誤。 – Klinetel
是的。這裏唯一的問題是你發佈的方法中的'sender'參數不是UISegementedControl:它是一個UIButton。該動作設置爲一個按鈕,方法*會被調用;它只是沒有連接到正確的按鈕類型。結果是你試圖得到不正確類型按鈕的'selectedSegementIndex',所以它會拋出一個異常。我不知道你在說什麼,通過「初始化」具有完全不相關簽名的方法。也許你想要一個物業?我也不知道最後一句話在你的評論中意味着什麼。 – Metabble
的UIButton的與固定崩潰的工作,但現在每一次我點擊任何一個選項了兩部,它顯示了點擊提交按鈕之前我alertview。請參閱上文。我不知道我以前的按鈕類型有什麼問題。 – Klinetel