Block code execution after alert view is displayed in iOS
2016-03-04 14:36
525 查看
问题
大家都知道,在iOS里的AlertView不会阻塞后续代码的执行,但如果有时候需要这样做该怎么办呢?
解决方案
通过回调也就是把后续要执行的代码放到回调函数中去,可以参见UIAlertView-Blocks,我今天要重点说明的是下面这种方式。
使用RunLoop
我们都知道主线程上的RunLoop在没有"消息"触发的时候会让线程进入休眠状态。所以,要实现阻止后续代码执行的功能,也可以借鉴这种方式。在AlertView弹出来之后如下处理:
while(!self.flag){ [[NSRunLoop currentRunLoop] runMode:(NSString *)kCFRunLoopDefaultMode beforeDate:[NSDate distantFuture]]; } NSLog(@"Flow Control Resumed");
然后在AlertView消失的时候重置下flag就可以达到目的了。
查看完整示例代码
相关文章推荐
- iOS之多线程精髓
- ios 热修复
- ios 获取ios系统信息
- iOS CoreData数据迁移-迁移管理器迁移数据
- ios单例写法
- 让你的程序“飞”起来——性能优化
- IOS9 wifi助理
- iOS数组按中文关键字以字母序排序
- iOS 蓝牙开发那些事
- 一步步创建自己的 iOS 框架
- iOS 判断iphone ipad 系统版本
- iOS 数组排序
- iOS开发---计算两个日期的时间差
- iOS学习----------多线程(NSThread/GCD/NSOperation)
- 测试驱动下的iOS应用开发
- iOS深复制浅复制
- iOS推送开关
- iOS 并发:NSOperation 与调度队列入门(1)
- iOS 并发:NSOperation 与调度队列入门(1)
- 【Xamarin挖墙脚系列:Xamarin.IOS的程序的结构】