assign 与 weak
assign 一般用来修饰基础数据类型 NSInteger int类型等 因为它的setter方法字节赋值进行任何操作,为何assign不能修饰对象呢?因为assign 用来修饰对象 该对象只是简单赋值,assign存在内存空间中的栈,该数据结构释放有系统决定,它的引用对象释放后会变成野指针会出现crash,报经典的错误BAD ADDRESS。
weak 表示对象的弱引用,对象随时可被系统销毁和回收 比较常见的修饰delegate的属性设置
要破除循环引用 一方得将修饰符设置成weak