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

-某些情况下,需判断当前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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 7、不使用IB是,下面这样做有什么问题? 6、请说说Layer和View的关系,以及你是如何使用它们的。 1.首先...
    AlanGe阅读 4,410评论 0 1
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,439评论 4 61
  • 瑾以此文,记四、五日如同流水账般的行走。 (一)奴隶社会博物馆有奴隶 其实对于此地来讲,能给我以新鲜感...
    王耀杨Eric阅读 2,713评论 0 0
  • 我如果爱你—— 绝不像攀援的凌霄花, 借你的高枝炫耀自己: 我如果爱你—— 绝不学痴情的鸟儿, 为绿荫重复单调的歌...
    铁艺护栏阅读 1,463评论 0 0
  • 很难 我是真的不知道该怎么做了?每天在如此嘈杂的环境里,耳朵都开始痛了,我已经开始有些许担心我自己了。说我矫情也好...
    三小妹阅读 1,855评论 0 0

友情链接更多精彩内容