2 developerwab developerWab 于 2013.07.16 14:29 提问

objective-c UIAlert button不实现

在函数中有一个UIAlert:

- (void)loadJSON
{

    Reachability *networkReachability = [Reachability reachabilityForInternetConnection];
    NetworkStatus networkStatus = [networkReachability currentReachabilityStatus];
    if (networkStatus == NotReachable) {
        dispatch_async(dispatch_get_main_queue(), ^{
            UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Announcement" message: @"No Connection" delegate: nil cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alert show]; [alert release];
        });
    } else {
      //some code
    }
}

在用户点了OK键后应该触发函数,回调loadJSON 。

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
    [self loadJSON];
}

我的最终目标是如果没有网络连接,显示UIAlert,用户看见信息,点击Okay,如果还没有网络连接,显示警报。我没有连上网,警报信息只显示了一次。

1个回答

MrsSeven7
MrsSeven7   2013.07.16 16:19
已采纳

不要给alertView分配代理:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle: @"Announcement" 
                                                message: @"No Connection" 
                                               delegate: self 
                                      cancelButtonTitle:@"OK" 
                                      otherButtonTitles:nil]; 
[alert show];
[alert release];
Csdn user default icon
上传中...
上传图片
插入图片