[iOS基础控件 - 6.12.3] @property属性 strong weak copy
A.概念
@property 的修饰词
strong: 强指针/强引用(iOS6及之前是retain)
weak: 弱智真/弱引用(iOS6及之前是assign)
默认情况所有指针都是强指针
使用 "__weak" 修饰的指针是弱指针
ARC准则:只要没有强指针指向,对象就会被销毁
@property属性的用法
* weak(assign) : 代理\UI控件
* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)
* copy : 字符串
* strong(retain) : 其他对象(除代理\UI控件\字符串以外的对象)
* copy : 字符串
* assign : 非对象类型(基本数据类型int\float\BOOL\枚举\结构体)
B.UI控件的@property修饰:
1.为什么控制器中UI控件使用weak
选用:控制器view的subviews中已经用强指针指向了view下的子控件,没有必要再使用强指针
2.为什么控制器中的delegate使用weak
必须要:控制器中的view/tableView是使用了强指针指向,而view中的delegate不能使用强指针指回控制器!
C.copy
深拷贝
浅拷贝