首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

以编程方式解除iOS 5上的UIAlertView不会调用didDismiss委托方法

以下是关于iOS 5上的UIAlertView不会调用didDismiss委托方法的问题的答案:

  1. 问题描述:

在iOS 5上,使用UIAlertView时,有时会遇到didDismiss委托方法不被调用的问题。这可能会导致应用程序中的一些功能无法正常工作。

  1. 解决方案:

为了解决这个问题,可以尝试以下方法:

  • 确保UIAlertView的delegate属性已经被正确设置为当前对象。
  • 确保当前对象实现了UIAlertViewDelegate协议,并且实现了didDismissWithButtonIndex:方法。
  • 如果使用了ARC(自动引用计数),确保UIAlertView对象没有被提前释放。可以使用__weak引用来避免这个问题。
  • 如果使用了多线程,确保UIAlertView的操作是在主线程上进行的。可以使用GCD(Grand Central Dispatch)或者NSOperationQueue来实现这一点。
  1. 代码示例:

以下是一个简单的示例,展示了如何使用UIAlertView并实现didDismissWithButtonIndex:方法:

代码语言:objective-c
复制
#import <UIKit/UIKit.h>

@interface MyViewController : UIViewController <UIAlertViewDelegate>

@end

@implementation MyViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    
    UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Title" message:@"Message" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"OK", nil];
    [alertView show];
}

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex:(NSInteger)buttonIndex {
    if (buttonIndex == 1) {
        // OK button was clicked
    } else {
        // Cancel button was clicked
    }
}

@end
  1. 推荐的腾讯云相关产品:
  • 腾讯云移动直播:支持实时音视频处理、转码、推流、拉流等功能,适用于在线教育、直播娱乐等场景。
  • 腾讯云对象存储:提供高性能、低成本、可扩展的云存储服务,适用于存储大量非结构化数据。
  • 腾讯云API网关:支持API的创建、发布、管理和调用,可以帮助用户更好地管理后端服务。
  1. 产品介绍链接地址:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

iOS开发·runtime原理与实践: 关联对象篇(Associated Object)(应用场景:为分类添加“属性”,为UI控件关联事件Block体,为了不重复获得某种数据)

因为在分类中 @property 并不会自动生成实例变量以及存取方法,所以一般使用关联对象为已经存在类添加 “属性”。..._cmd在Objective-C方法中表示当前方法selector,正如同self表示当前方法调用对象实例。这里强调当前,_cmd作用域只在当前方法里,直指当前方法名@selector。...在分类中@property不会生成_变量,也不会实现getter和setter方法。我们实现只是getter和setter方法,并没有自动生成下划线开头变量! 3....3.2 UIButton 除了上述UIAlertView,这节UIButton为例,使用关联对象完成一个功能函数:为UIButton增加一个分类,定义一个方法,使用block去实现button点击回调...有没有办法让方法只执行一次,每次调用方法时候直接获得那一次执行结果?有的,方案就是让某个对象方法获得数据结果作为“属性”与这个对象进行关联。

2.5K20

iOS开发之调用系统打电话发短信接口以及程序内发短信

一、调用系统功能     在iOS中打开系统本身打电话和发短信功能还是比较简单,之前在SSO中也提了一嘴,iOS中可以由一个应用打开另一个应用,只需要一行代码,打电话,发短信,发email,开网页也是一样...二、在本应用中打开     上面的方法都是打开相应应用程序,然后做相应事情,那么我们如何在本应用中就可以给我们用户发送短信呢?...(模拟器就没有短信功能) 5 Class messageClass = (NSClassFromString(@"MFMessageComposeViewController")); 6...*alterView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"iOS版本过低(iOS4.0以后)" delegate:nil cancelButtonTitle...]) { 3 //发送短信 4 } 5 else 6 { 7 UIAlertView *alterView

12.6K50

iOS「回调(callback)」

本文主要参考:《Object-C 编程 Big Nerd Ranch Guide》一书第24章 本文适读对象: 想系统了解iOS中若干种回调机制朋友; 想初步了解Block语法朋友。...调用以下方法,即可得到一个run loop。...)蓝牙状态改变后回调(比如手机打开蓝牙、关闭蓝牙,都会调用这个方法) } // 手机每成功连接一个设备(某事件被触发),这个方法都会被调用(回调) - (void)centralManager:(CBCentralManager...至于「data sources/数据源」,常用UITableView朋友,应该比较熟悉了,本质和上面讲委托,一回事儿。...个人也倾向于使用前者,因为作为方法参数时,一敲回车,整个Block都会自动补全,而用后者,不会自动补全,要自己一个个敲。 总结 上面,简单实现了Objective-C中4种回调。

3.3K30

iOS】关联对象详解

然而两者之间有个重要差别:如果两个键指针不同,但是值相同,在这两个键上调用“isEqual:”方法返回值是YES,那么字典也认为二者相等。(详情可参考笔者《浅析对象等同性判断》)。...关联对象存储需要指明存储策略。和property类似,objc枚举方式提供了存储策略。本质就是关联对象内存管理语义。...,category中虽然可以添加属性,但是并不会生成带下划线成员变量,也不会生成getter和setter实现(详情参考笔者《【iOS】Category VS Extension 原理详解》)。...代码以及输出结果 delegate回调方法中使用关联对象 《Effective Objective-C 2.0 编写高质量iOS与OS X代码52个有效方法item10中介绍了使用关联对象一种场景...以下摘抄自《Effective Objective-C 2.0 编写高质量iOS与OS X代码52个有效方法》。

7.7K40

IOS 开发】基本 UI 控件详解 (UISegmentedControl | UIImageView | UIProgressView | UISlider | UIAlertView )

动态增加删除分段 (1) 主要 API 简介 插入 删除分段 :  -- 插入分段 : 调用 segmentControl insertSegmentWithTittle 方法, 参数一 标题, 参数二..., 按钮等信息, 按钮监听需要创建 UIAlertView UIAlertViewDelegate 委托对象; -- 显示 UIAlertView : 调用显示 UIAlertView 显示方法;...-- 监听按钮 : 为委托对象实现 UIAlertViewDelegate 协议中方法即可; (2) UIAlertViewDelegate 协议方法 UIAlertViewDelegate 协议方法简介...alertView " 方法 : 对话框被取消时激发方法; (3) UIAlertView 输入框风格设置 UIAlertView actionSheetStyle 属性 :  -- 主要作用...cancelButtonTitle:@"取消显示" otherButtonTitles:@"按钮1", @"按钮2", @"按钮3", @"按钮4", nil]; //调用方法显示 UIAlertView

2.4K40

Cocoa编程中视图控制器与视图类详解

iPhone编程规则是:一个窗口,多个视图。UIView是iPhone屏幕很多控件基础类。...选项卡类方便之处就是不需要象导航栏那样方式推入和弹出视图操作,而是组建一系列控制器(它们各自可以是UIViewController、UINavigationController、UITableViewController...,让UITabBarController能够正常触发这些回调方法。...主要方法 • –loadView:不要主动调用方法,当访问控制器view时候,就会调用方法。如果要自己创建view,则需要重写该方法。...控制器加载视图过程 当调用视图控制器view属性时,视图控制器会先调用loadView方法加载视图,因此,可以在loadView方法中创建所有的视图,这是比较好编程惯例。

5K50

【团队分享】手机QQ:升级iOS8.3后,发图就崩,为哪般?

所以,我们开始怀疑是否在iOS8.3系统中,是不是所有调用UIAlertView地方都会发生崩溃? 但在选择了几个调用UIAlertView界面进行验证后,发现并没有崩溃发生。...于是,我们得到一个解决此类崩溃问题方法: 将工程中所有调用UIAlertView执行UI提示逻辑全部替换为调用SimpleAlertView执行,当然,还需根据不同场景修改适配UI样式和交互表现。...我们在工程中搜索UIAlertView调用,发现竟有500+调用,分别分布在300+文件中,如果替换的话,其潜在风险和工作量都要仔细考量,而且还需针对不同场景修改UI样式和交互表现,不可取!...我们断定在iOS8.3系统出现UIAlertView发生崩溃根本原因可能在于此,于是又将QQMarkActionSheetController_FixPos中重写shouldAutorotate方法删除...application当前方向 如果在iOS8.3系统两者混用,系统新增检查判断会发现此问题,并抛出异常,崩溃就这样产生了。

1.1K40

iOS下JS与原生OC互相调用(总结)

iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互两种方式。...JS调用原生OC篇 方式一 第一种方式是用JS发起一个假URL请求,然后利用UIWebView代理方法拦截这次请求,然后再做相应处理。...关于这种方式调用OC方法,唐巧早期有篇文章有过介绍: 关于UIWebView和PhoneGap总结 方式二 在iOS 7之后,apple添加了一个新库JavaScriptCore,用来做JS交互,..."]; 再然后定义好JS需要调用方法,例如JS要调用share方法: 则可以在UIWebView加载url完成后,在其代理方法中添加要调用share方法: - (void)webViewDidFinishLoad...其实我们也有另外一种方式,自定义一个延迟执行alert 方法来防止阻塞,然后我们调用自定义alert 方法。同理,耗时较长js 方法也可以放到setTimeout 中。

4.9K30

2.检查网络状态

Reachability类reachabilityWithHostName:类方法来获取Reachability对象,然后调用该对象currentReachabilityStatus方法来获取访问指定站点方式...方法返回值进行判断,这样即可获取该应用访问网络状态和方式。   ...类方法获取Reachability对象,然后调用该Reachability对象currentReachabilityStatus方法获取网络连接状态,如果网络连接状态返回NotReachable,则表明这种类型网络暂未连接...为了监听网络状态改变,在应用程序委托类(AppDelegate.m)application: didFinishLaunchingWithOptions:方法中增加如下代码: //使用通知中心监听...:方法,还需要在应用程序委托类中定义如下方法: - (void) reachabilityChanged:(NSNotification*) note { //通过通知对象获取被监听Reachability

1.2K90

细说ReactiveCocoa冷信号与热信号系列(2)

这和数学中函数是一样,比如: f(x) = 5x + 1 这个函数在调用过程中除了返回值以外没有任何对外界影响,除了入参x以外也不受任何其他外界因素影响。 那么副作用都有哪些呢?...由此我们可以看出,在目前iOS编程中,我们是很难摆脱副作用。甚至可以这么说,我们iOS编程目的其实就是产生各种副作用。(基于用户触摸外界因素,最终反馈到网络变化和屏幕变化。)...接下来我们来分析副作用与冷热信号关系。既然iOS编程中少不了副作用,那么RAC在实际使用中也不可避免地要接触副作用。...观察会发现其实是在调用这个方法时候,生成了一个新信号,并在这个新信号执行过程中对self进行了订阅。还需要注意一个细节,就是这个返回信号在未来订阅时候,才会间接订阅self。...另外3次订阅来自RACSignal类merge方法。根据上述描述,我们也可以猜测merge方法也一定是创建了一个新信号,在这个信号被订阅时候,把它包含所有信号订阅。

82570

iOS适配

presentcontroller里面调用才起作用 iOS8适配 SDK 里面的某些API不能在iOS8下使用 如果,你老项目在iOS8下运行,打开就闪退(iOS8之前没问题),那么“恭喜你”...下用这样方式,你会发现无法定位,那是因为iOS8下添加了新方法 //表示使用应用程序期间 开启定位 - (void)requestWhenInUseAuthorization //表示始终...cell 层级改变 如果你像这样取cell row 的话,那你又要加个判断方法了,在iOS8下cell层级又改了,基本每升级一个版本,苹果都会对cell结构进行调整,在此建议不要用这样方式取...升级 在iOS8里面,官方提供了新类UIAlertController来替换UIActionSheet and UIAlertView。... iOS7 仅会作用到 self.view 另外当你还需要手动调用 contentInset 时候,iOS7 似乎就不会自动调整了。

89310

IOS 开发】基本 UI 控件详解 (UIDatePicker | UIPickerView | UIStepper | UIWebView | UIToolBar )

: 该类不能绑定 IBAction 处理方法, 其事件处理只能交给对应委托对象委托方法完成; (2) UIPickerView 属性 UIPickerView 属性 :  -- Shows Selection...= self; -- 设置 UIPickerView 列数 : 该方法是 UIPickerViewDataSource 委托方法; //UIPickerViewDataSource 委托中定义方法.../* UIPickerViewDelegate 委托方法, 该方法返回指定列 指定 选项 值 row 参数 : 行 索引 component 参数 : 列 索引, 由于...: 该方法是 UIPickerViewDelegate 委托方法; /* UIPickerViewDelegate 委托方法, 当选中某个选项时 激发方法 row 参数 : 选中选项所在索引...:(UIPickerView *)pickerView{ return 2; } //UIPickerViewDelegate 委托方法, UIPickerView 指定列表选项显示标题 -

3.6K40

UI篇- UIWebView使用大全

继承自 UIView WKWebView特点: 性能高,稳定性好,占用内存比较小, 支持JS交互 支持HTML5 新特性 可以添加进度条(然并卵,不好用,还是习惯第三方)。...自动检测网页电话号码,单击可以拨打 self.mywebView.detectsPhoneNumbers = YES; 5....JS方法 与UIWebView进行交互,调用web页面中需要传参函数时,参数需要带单引号,或者双引号(双引号需要进行转义在转义字符前加\),在传递json字符串时不需要加单引号或双引号: -(void...而且这个 WebViewJavascriptBridge 会劫持掉 - (void)webViewDidFinishLoad:(UIWebView *)webView {}这个回调方法,在当前VC中不会触发...UIWebView在 iOS11中使用。 ? UIWebView 在iOS 11 当顶部 y值设为 0 时,是依然无法盖住UIStatusBar区域,但是滚动时就会出现问题了。

1.9K10

iOS Promise 设计模式

作者:宋英鑫 做iOS开发同学都非常熟悉代理模式,为避免代码耦合,代理模式委托者任务交给代理执行,代理执行完毕之后再把回调告诉委托者。委托者不关心代理是怎么执行任务,只关心结果是成功还是失败。...无论是系统GCD,还是平时随手封装一个 UIAlertView block实现,都让代码可读性有了一定提升。 无论是代理模式,还是闭包,在处理单一任务时候,都出色完成了任务。...Howell 写一个支持iOS/MacOS 异步编程框架 – PromiseKit , 作者另一个广为人知趣事是因为没有写出反转二叉树而没有拿到Googleoffer。...dispatch_get_main_queue(), block); }; } 如果对block不是很熟悉,可能不太理解这段代码,实际,PromiseKit灵活使用了block作为函数返回值来实现链式调用...这个方法是上面的thenon调用,接受两个参数,第一个参数是一个resolveblock,第二个参数是一个pendingblock。

4K10

iOS逆向(8)-Monkey、Logos

在之前几篇文章里已经介绍了APP重签名,代码注入,Hook原理,可以发现,将工程建好,脚本写好,我们就可以代价非常小方式对一个第三方APP进行分析。...点击下载:SimpleAppDemo 按钮对应方法为: - (IBAction)tapAction:(id)sender { UIAlertView *alert = [[UIAlertView...调用方法(orig) #import %hook ViewController - (void)tapAction:(id)sender { UIAlertView...%orig; } %end 新增一个方法,并且调用(new) 由于在Monkey工程里面是编译不到源码,所以无论是新增方法,还是调用原工程中方法,都是无法通过编译,所以都需要使用interface...iOS逆向(5)-不知MachO怎敢说自己懂DYLD iOS逆向(6)-从fishhook看Runtime,Hook系统函数 iOS逆向(7)-LLDB,自制LLDB脚本,窜改微信红包金额 iOS

1.7K20

UI篇-UIResponder之事件传递和响应精析

UIResponder是所有响应者对象基类,它不仅为事件处理,而且也为常见响应者行为定义编程接口。...响应者链:由一系列“下一个响应者”组成 其顺序如下: 1.iOS系统在处理事件时,通过UIApplication对象和每个UIWindow对象sendEvent:方法将事件消息形式分发给具体处理此事件第一响应者...应用程序可以调用UIApplicationbeginIgnoringInteractionEvents方法,并在随后调用endIgnoringInteractionEvents方法来实现这个目的。...,pointInside返回值直接影响到touchesEnded调用,如果返回NO是不会调用touchesEnded事件。...otherButtonTitles: nil]; [alert show]; } ---- 参考文章: iOS开发 - 事件传递响应链 iOS编程快递小哥-Responder

2.4K30
领券