0
我的應用程序中有以下代碼。在視圖控制器上,我有兩個UIButton控件,每個都執行不同的操作。當我按下第一個按鈕時,我有一個UIAlertView來確認操作。這工作正常。我以同樣的方式設置第二個按鈕。當我按下第二個按鈕時,第一個UIAlertView短暫出現,然後出現第二個UIAlertView。它在那時可以正常工作,但是第一個UIAlertView再次出現。UIAlertview被稱爲多次
如果我完全取出UIAlertViews並更新視圖上的標籤以指示按下了哪個按鈕,我不會再獲得任何一個按鈕的調用,因此我已將此隔離爲包含UIAlertViews。
任何人都可以指向我的代碼中導致這種情況的東西?這是代碼。
- (IBAction)clearInspectionsClicked {
UIAlertView *alertClear = [[UIAlertView alloc] initWithTitle:@"Please Confirm"
message:@"Clear out all inspection data?"
delegate:self
cancelButtonTitle:@"Clear"
otherButtonTitles:@"Cancel", nil];
[alertClear show];
}
- (IBAction)loadSampleDataClicked {
UIAlertView *alertLoad = [[UIAlertView alloc] initWithTitle:@"Please Confirm"
message:@"Load Sample data?"
delegate:self
cancelButtonTitle:@"Load"
otherButtonTitles:@"Cancel", nil];
[alertLoad show];
}
-(void) alertView:(UIAlertView*)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSString *title = [alertView buttonTitleAtIndex:buttonIndex];
if ([title isEqualToString:@"Clear"])
{
[self clearInspections];
[self.StatusLabel setText:@"Inspection data has been cleared!"];
}
if ([title isEqualToString:@"Load"])
{
[self loadSampleData];
[self.StatusLabel setText:@"Sample data has been loaded!"];
}
}
如果我取出UIAlertViews,而只是在視圖的標籤中顯示狀態消息,則只會調用一個動作。不過,我會通過調試器檢查確認。感謝帖子! – 2012-01-14 13:22:04
就是這樣!感謝您指出了這一點。看完這些動作之後,我注意到第二個按鈕已連接到兩者。我刪除了錯誤的操作鏈接,現在它工作正常。有時候解決方案比你想象的要簡單!再次感謝! – 2012-01-14 13:36:47