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
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
UIAlertView -(警告框)方法总结
UIAlertView -(警告框)方法总结 在IOS8之后,UIAlertView和UIActionSheet这两个控件被UIAlertController代替,但是这两个控件依然可以使用。这篇博客主要总结UIAlertView的常用方法。
Objective-C语言——UIButton 按钮
#import "ViewController.h" @interface ViewController () { UIImageView *imageViewTwo; } @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; //UI
为UIAlertView添加block支持
系统自带的UIAlertView只能支持delegate方式. 如果你只有一个UIAlertView这种方式可能无关紧要. 但如果你有二个或多个UIAlertView, 你需要在委托方法中进行判断是哪个UIAlertView实例的产生的委托, 接着又要判断是响应哪个button. 如果你曾经这样做过, 想想这是多杂的代码. Objective-C是支持块代码的, 如果对UIAlertView添加块
Objective_C-按钮(UIButton)详解
//1.创建按钮,有多种方法来创建,经常使用的方法是buttonWithType     UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];     //也可以用对象的初始化方法来创建 //    UIButton *button = [[UIButton alloc]init];
objective-c - 基础篇 - UIAlertController提示框的调用
一、UIAlertController提示框的调用 说明:当我们单独把UIAlertController提示框的写在一个类中时,可以方便我们反复的调用提示框。                具体可以参考:www.tuicool.com/articles/ZJ3Azay 注意:第一点是一开始一直想不通的。 一:因为UIAlertController中有一个语句是      
Objective-C-UI控件学习之UIButton详解
UIButton详解: //这里创建一个圆角矩形的按钮 UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];// 能够定义的button类型有以下6种, // typedef enum { // UIButtonTypeCustom = 0, 自定义风格
iOS 代码触发button点击事件 objective-c怎么代码触发按钮点击事件
button代码实现点击[self.button_push sendActionsForControlEvents:UIControlEventTouchUpInside];//代码点击
UIAlertController & UIAlertView 对话框
iOS 8的新特性之一就是让接口更有适应性、更灵活,因此许多视图控制器的实现方式发生了巨大的变化。 苹果官方现在并不提倡在iOS 8中使用UIAlertView,取而代之的是UIAlertController。 在iOS 8中,UIAlertController在功能上是和UIAlertView以及UIActionSheet相同的,UIAlertController以一种模块化替换的方
objective-c使用代码触发按钮的点击事件
objective-c使用代码触发按钮的点击事件     在一些特殊的情况下,需要使用代码来触发某个按钮的点击事件, [myButton sendActionsForControlEvents:]
iOS界面跳转与返回代码实现(Objective-C)
我们知道,现在的界面设计与跳转都可以使用storyboard和segue来实现。但是有些项目组或者boss不喜欢这样简单可视化的形式,非要用代码来实现整个UI的设计,与界面跳转的逻辑,当然原因有各种。所以,现在我来为大家来简单实现如何使用代码来构建UI控件并进行跳转。代码我会上传Github。        该项目的第一个界面就是storyboard自动创建的界面,第二个界面是自己创建的带nib