BOutlet变量的生命周期 IBOutlet怎么会是nil呢(内功篇)
来源:互联网 发布:程序员你好我是攻城狮 编辑:程序博客网 时间:2024/06/10 07:38
当使用initWithNibName 初始化viewController时,发现IBoutlet修饰的变量为nil。原因是该viewController或view没有加载到当前视图中,不处于活动状态。
类似的一个情况: http://blog.prosight.me/index.php/tag/iboutlet
今天遇到一个问题困扰了很久。 代码如下:
1.
2. FileOverviewViewController *fileOverviewViewController =[[FileOverviewViewController alloc]initWithNibName:@”FileOverviewView” bundle:nil];
3. // AAAAA
4. [self.navigationControllerpushViewController:fileOverviewViewController animated:YES];
5. // BBBBBB
6.
如果你有这个Controller中的view里面有IBOutlet的变量,如果你在A的地方进行赋值或者其他操作的话,界面将不会有任何更新,那些IBoutlet变量的值都为NULL,如果在B处设置就可以正常显示了。
结论: 如果你使用navigation Controller的话,一定要在push了这个ViewController之后再操作这个ViewController中的IBOutlet变量,否则这个变量会因为不在作用范围内而无法操作。
扩展开来也就是说只有当一个ViewController被载入处于活动状态的时候,这个ViewController中的IBOutlet变量才能正常使用,否则都会因为不在作用范围内而无法正常使用的
如果不使用navigation Controlle的话,必须在
[XXViewaddSubview:fileOverviewViewControll
- BOutlet变量的生命周期 IBOutlet怎么会是nil呢(内功篇)
- 使用xcode调试代码的时候进入断点显示变量全是nil,我用NSLog输出那个变量却是有值的,这个是什么原因呢?
- 怎么会显示不了呢?
- 怎么会这样呢?老板~~~
- 检测出来的结果怎么会是这样。。
- 怎么会想起搞二进制谱图文件的格式呢?
- 为什么IBOutlet属性是weak的?
- IBOutlet 为什么默认是weak的
- C语言深入学习系列 - 字节对齐&内存管理(怎么会有这么好的资料呢 兴奋。。。。)
- xCode断点变量全是nil
- 既然redis是单线程模型,,怎么会出现并发访问操作同一份数据呢?
- 怎么会是lucene?
- 关于JAVA指纹识别的源码!怎么会是这样的?
- UIButton和IBOutlet变量关联的奇怪问题
- xcode在Debug时,查看到变量是nil的问题
- IOS nil 判断变量为空nil的前后顺序
- xcode调试时,断点指向的变量的值为nil,po输出是无法得到变量值,NSLog也是nil
- 并发编程二:HashMap怎么会死锁呢?
- 浙工大OJ-1796
- 移动互联网:缺少广告主的半边天
- Launcher研究1之AndroidManifest.xml分析(转载)
- 互联网创业公司失败的7大特征
- UIimage最好不要用常驻内存
- BOutlet变量的生命周期 IBOutlet怎么会是nil呢(内功篇)
- 美孵化公司评出最值得关注22家新兴互联网公司
- UIScrollView 精解
- 01-web开发相关概念与常见web服务器
- 互联网公司的人海战术
- UIAlertView中加入UITextField
- 使用CALayer自定义UIButton边框
- 改造UISegmentedControl为玻璃效果的UIButton
- CALayer