iOS小技巧-用isViewLoaded判断UIViewController是否正在显示

转载自: https://www.jianshu.com/p/cdcc0d874909

-某些情况下,需判断当前ViewController是否正在显示,比如后台网络请求报错,我们可能只希望在发起请求的页面弹窗提示用户,当用户已经跳转到其他界面,不做弹窗,减少对用户的干扰。
-假如一个UIView对象当前正在显示,那么它的window属性肯定为非空值。虽然官方文档未说明UIView未显示时window属性的取值,但是经过简单的测试,大部分情况下UIView未显示时,window的值为空,因此依据此判断当前UIViewController是否正在显示。但是访问UIViewController的view属性时,可能会引起view加载(假如此时还未加载),这是不必要的,而且还可能引起无法预期的问题。因此在访问view属性之前,最好先检查isViewLoaded属性来避免上述问题。
系统在iOS3.0以后为我们提供了一个这样的方法

 

63919329-5A7A-4051-89FB-2DEA12F62C6F.png

 

举个简单的例子 ,我想知道TabViewController容器有没有加载,如果已经加载了那就不要再重复加载,我们完全可以不用声明布尔类型的属性就能完成判断。

屏幕快照 2016-11-28 上午10.39.00.png



作者:饭饭男
链接:https://www.jianshu.com/p/cdcc0d874909
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

展开阅读全文

没有更多推荐了,返回首页