[UIApplication sharedApplication].keyWindow.rootViewController
一般来说 [UIApplication sharedApplication].keyWindow.rootViewController 会在 appDelegate 中初始化,并且整个应用运行过程中都不会变。
所以在很多地方需要用 presentModelViewController 方法时,用这个 rootViewController 是很方便的,因为它相当于一个全局变量,无需再申请、释放。
但是本人在使用过程中发现有 rootViewController 被改为 nil 的情况。
分析后发现,当 UIAlertView 调用 show 方法后,rootViewController 会被改为 nil,当它 dismiss 后又改回去。而我需要用户在点击 alertview 上的按钮后再做
presentModelViewController 的操作。
解决方法:
不要使用 alertview delegate 中的
- (void)alertView:clickedButtonAtIndex:
方法
而要用:
- (void)alertView:diddismissWithButtonAtIndex:
方法!
[UIApplication sharedApplication].keyWindow.rootViewController的更多相关文章
- 计算视图相对坐标时convertPoint:toView: ,UIApplication sharedApplication - keyWindow is nil?
UIWindow *window = [UIApplication sharedApplication].keyWindow; window 为nil的原因:在指定rootViewController ...
- [UIApplication sharedApplication].keyWindow和[[UIApplication sharedApplication].delegate window]区别
参考链接:https://www.cnblogs.com/henusyj-1314/p/11643189.html 结论1.在获取到window时最好使用[[UIApplication sharedA ...
- oc学习之路----application.keyWindow.rootViewController与self.window.rootViewController与[self.window makeKeyAndVisible];小发现
刚才调试的时候除了一些小问题,有一段代码要重用 NSString *key = @"CFBundleVersion"; // 取出沙盒中存储的上次使用软件的版本号 NSUserDe ...
- 【iOS [[UIApplication sharedApplication] delegate]】运用
之前想要拿到app的窗口,我们通常的写法是: [UIApplication sharedApplication].keyWindow 这种写法之前一直也觉得是正确的,没什么问题,而且网上大多数的博客或 ...
- iOS UIApplication sharedapplication用法
应用中打开其他应用 我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一 ...
- UIApplication sharedApplication详细解释-IOS
iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: int UIApplicationMain ( int argc, char *a ...
- iOS开发中使用[[UIApplication sharedApplication] openURL:]加载其它应用
iOS 应用程序之间(1) 在iOS开发中,经常需要调用其它App,如拨打电话.发送邮件等.UIApplication:openURL:方法是实现这一目的的最简单方法,该方法一般通过提供的u ...
- (转)UIApplication sharedApplication详细解释-IOS
iPhone应用程序是由主函数main启动,它负责调用UIApplicationMain函数,该函数的形式如下所示: int UIApplicationMain ( int argc, char *a ...
- 后台运行之[[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:nil]
// 正常程序退出后,会在几秒内停止工作: // 要想申请更长的时间,需要用到 // beginBackgroundTaskWithExpirationHandler // endBackground ...
随机推荐
- vue中使用props传递参数
通常,父组件的模板中包含子组件,父组件要正向地向子组件传递数据或参数,子组件收到后根据参数的不同来渲染不同的内容,或者执行操作. 这个正向传递数据的过程是通过props来实现的. 在组件中,子组件使用 ...
- 3-SQL过滤
# 筛选最大生命值大于6000,最大法力值大1700的英雄,然后按照二者之和从高到低进行排序 SELECT NAME , hp_max, mp_max FROM he ...
- android 圆角ImageView类,可设置弧度
public class RoundImageView extends ImageView { private Paint paint; private int roundWidth = 50; pr ...
- CodeForces - 103B(思维+dfs找环)
题意 https://vjudge.net/problem/CodeForces-103B 很久很久以前的一天,一位美男子来到海边,海上狂风大作.美男子希望在海中找到美人鱼 ,但是很不幸他只找到了章鱼 ...
- elementui入门以及nodeJS环境搭建
1. ElementUI简介 我们学习VUE,知道它的核心思想式组件和数据驱动,但是每一个组件都需要自己编写模板,样式,添加事件,数据等是非常麻烦的, 所以饿了吗推出了基于VUE2.0的组件库,它的名 ...
- RabbitMQ学习笔记(七、RabbitMQ实战)
目录: 削峰 分布式事务 削峰: 利用RabbitMQ队列消费特性避免峰值下的DB访问,缓解连接压力,在DB释放连接后再去消息数据. 分布式事务: )XA协议:它是一个分布式事务协议,由事务管理器和资 ...
- 201871010113-刘兴瑞《面向对象程序设计(java)》第一周学习总结
正文开头: 项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接 ...
- 算法设计与分析 2.5 Joyvan的难题
★题目描述 Joyvan最近遇到了一个难题,对于一个包含 N个整数的序列a1,a2,--,aN,定义:f(i,j)=(j-i)2+(j∑k=i+1 ak)2 现在Joyvan想要你帮他计算所有 f(i ...
- AcWing 34. 链表中环的入口结点
习题地址 https://www.acwing.com/problem/content/description/86/ 题目描述给定一个链表,若其中包含环,则输出环的入口节点. 若其中不包含环,则输出 ...
- 古来月Beta阶段博客报告
Scrum会议 第十一周会议 https://www.cnblogs.com/ouc-xxxxxx/p/12014345.html 第十周会议 https://www.cnblogs.com/ouc- ...