這是我的代碼,調用「displayAlert」。問題不僅在於我收到了一條錯誤消息(wait_fences:未能收到回覆:10004003),而是顯示「alert」兩次!iOS:我的提醒信息顯示兩次,但代碼只執行一次
if(gSiteID.globalSiteID.length == 0) { // user didn't choose site
[self displayAlert:NSLocalizedString(@"Missing Site ID", nil) andData:NSLocalizedString(@"You must choose a site from the View Sites page",nil)];
return;
}
這對「displayAlert」代碼:
- (void) displayAlert: (NSString *) title andData: (NSString *) errorMsg {
UIAlertView *alert = [[UIAlertView alloc]
initWithTitle: title
message: errorMsg
delegate:nil
cancelButtonTitle: @"OK"
otherButtonTitles: nil];
[alert show];
return;
}
我有和谷歌搜索,並沒有發現任何特定於我的問題。我究竟做錯了什麼?
您是在真實的設備上還是在模擬器上測試它? 'wait_fences:未能收到回覆'通常意味着調試器與設備的連接發生了故障,或者您在斷點處坐了很長時間並且超時。你確定代碼只執行一次,沒有其他人可以調用該方法嗎?在你的if語句和你的'displayAlert:andData:'方法中加入斷點,看看會發生什麼。運行你的邏輯,找到所有的情況下,可以調用顯示警報方法,並堅持所有的斷點。 –
在displayAlert方法上放置一個斷點,然後查看堆棧跟蹤以查看它從 – Bryan
中調用的位置。您如何知道代碼只運行一次? –