iOS:我的警报消息显示两次,但代码仅执行一次

时间:2012-09-17 20:45:02

标签: objective-c ios xcode4

这是我的代码,调用“displayAlert”。问题不仅是我收到错误消息(wait_fences:未能收到回复:10004003),但“警报”显示两次!

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;
}

我搜索了SO和Google,发现没有任何特定于我的问题。我做错了什么?

2 个答案:

答案 0 :(得分:0)

我发现了问题:我确实从不同的.cs文件中调用了两次(你看到我脸上的蛋了吗?)。杰克劳伦斯请你回答这个问题的答案,因为你点头了。

答案 1 :(得分:0)

您是在真实设备或模拟器上测试吗? wait_fences:未能收到回复通常意味着调试器与您的设备的连接发生了不好的事情,或者您在断点处待了很长时间并且超时了。你确定代码只执行一次,没有其他任何东西可以调用该方法吗?在if语句和displayAlert:andData:方法中粘贴断点,看看会发生什么。运行您的逻辑并查找可以调用该显示警报方法的所有情况并在所有情况下粘贴断点。