iOS开发-window相关的问题

废话不多说,先贴出四种找window的方法
UIWindow *window = [[[UIApplication sharedApplication] delegate] window];

UIWindow *window = [[UIApplication sharedApplication].delegate window];
UIWindow * window = [[UIApplication sharedApplication].keyWindow ];
UIWindow * window = [UIApplication sharedApplication].windows[0];


最近一个项目,需要做一个悬浮球,在某些情况下调用悬浮窗接口,悬浮窗不会添加在window上。
当时用的[[UIApplication sharedApplication].keyWindow ]这个API,
找一下午原因,还是没有添加上。
后来换了一个API,成功解决问题。想想还有点小激动~
【iOS开发-window相关的问题】[[UIApplication sharedApplication].delegate window]



至于几种API有什么不同,以后了解过后会贴出来~
====================================================
第一行和第二行执行的代码逻辑一样

第三行 不可靠,不建议使用。除非确定application中只有一个window且为key的
第四行的相对而言 是最可靠的

    推荐阅读