iOS基础知识9
来源:互联网 发布:linux wget下载jdk1.8 编辑:程序博客网 时间:2024/06/04 00:13
一、IBOutlet连出来的视图属性为什么可以被设置成weak?
既然有外链那么视图在xib或者storyboard中肯定存在,视图已经对它有一个强引用了,所以设置成weak比较好。
不过这样漏了个重要知识,使用storyboard(xib不行)创建的VC,会有一个叫_topLevelObjectsToKeepAliveFromStoryboard的私有数组强引用所有top level的对象,所以这时即便outlet声明成weak也没关系。
在storyboard中添加一个控件引用关系是这样的(以UIbutton为例): UIviewController->UIview->UIbutton。
此时UIviewController强引用着UIview,UIview强引用着UIbutton,IBoutlet连线到控制器的.h或者.m中作为视图的属性时用weak修饰就可以了,(觉得用 strong修饰也可以但是没有必要)。添加到子控件也是强引用:UIbutton就是添加到了UIviewController的view上。
二、如何调试BAD_ACCESS错误?
访问了野指针,比如对一个已经释放的对象执行了release、访问已经释放对象的成员变量或者发送消息。
死循环造成。
http://www.jianshu.com/p/55650ae1c176
阅读全文
0 0
- iOS基础知识9
- iOS 基础知识
- iOS基础知识
- IOS基础知识
- ios基础知识
- ios基础知识
- IOS基础知识
- ios基础知识
- IOS基础知识
- iOS 基础知识
- IOS-基础知识
- ios基础知识
- iOS基础知识
- iOS基础知识
- UISlider - iOS - UI基础知识总结9
- IOS开发基础知识要点
- ios开发一些基础知识
- ios 内存管理基础知识
- HDU 5253 连接的管道 【2015年百度之星程序设计大赛
- RecyclerView
- nginx笔记
- 初识Docker
- C语言使用递归法计算n的阶乘
- iOS基础知识9
- Linux下查看文件内容的命令
- BellGrade的博客 C++各种输入流 一文
- 学习java多线程和并发
- 笔记
- tcp服务器客户端文件上传和t下载
- ubuntu64位下交叉编译opencv3.3遇到的make[error]error: call of overloaded 'abs(long long int&)' is ambiguous
- 编程语言对比
- HDU1014 格式题