IOS viewdidload 方法在 init 方法之前调用
来源:互联网 发布:163邮箱密码数据库 编辑:程序博客网 时间:2024/06/05 03:24
IOS viewdidload 方法在 init 方法之前调用
问题:
实际开发中,在viewdidload中使用了一个在重写init方法中的一个初始变量,发现viewdidload中的这个变量总是为nil,而在init方法中的这个变量是有值的,按照我的想法,先调用init方法给变量赋值,在viewdidload中使用这个变量,不应该为nil,后来通过断点调试,发现viewdidload方法在init方法之前调用了,不解。后来在stack overflow 讨论中找到了答案。
原因:
原来不是viewdidload 方法真的在 init方法之前调用了,而是在init方法中设置了view的一些属性,就会触发调用viewdidload方法,等view加载完成后才会继续调用init方法,如果把初始化变量代码写在设置view属性之后,viewdidload中的变量当然就为nil了。
解决办法:
在init方法的设置view属性之前先初始化变量。
0 0
- IOS viewdidload 方法在 init 方法之前调用
- viewDidLoad在init方法之前调用的坑
- [iOS]为什么不要在init初始化方法里调用self.view
- 在一个方法调用之前保证另一个方法已经执行
- 为什么requestWindowFeature()方法要在setContentView()方法之前调用?
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- UIView的一些基本方法 init、loadView、viewDidLoad、viewDidUnload、dealloc
- Controller中不会调用ViewDidLoad方法
- 在ViewDidLoad方法里面设置按钮图案
- init方法在项目运行时啥时候调用
- 在spring的init-method指定的方法之前做一些事情要用BeanPostProcessor
- init()方法调用及扩展
- IOS viewDidLoad方法被执行两次(viewDidLoad和loadView方法详解)
- IOS viewDidLoad方法被执行两次(viewDidLoad和loadView方法详解)
- 为什么部分IO流在调用Close()方法之前要先调用flush()方法
- 大并发量 session跟踪 及持久化
- POJ 2689 素数打表再打表
- MySQL 报错 thread_stack=#\' to specify a bigger stack
- mysql 备用
- Win10 与 Ubuntu 双系统安装
- IOS viewdidload 方法在 init 方法之前调用
- WEB 项目在 Ubuntu 中部署到 Tomcat 总是报错
- 高斯背景模型在 监控中的应用
- Drawable 下定义一个会旋转的ui
- 一个超好的GIT教程
- tomcat catalina.sh 解析
- iReport 中使用 Chart 图
- fir.im Weekly - 新开发时代,需要什么样的技术分享
- awk 备用