1、strong weak
2、retain assign
retain针对非基本数据类型,针对要用到堆区的属性,此关键字,编译器会为数据的 setter dealloc添加一些特殊处理,使得对堆的管理更节省更有效
@property (retain) Yard * yard;
yard = yard1; 如果对yard1的引用增加了则计数器+1;如果对yard1引用减少了,计数器-1.
详细:处理1 原yard==yard1? 若等 计数器不变;若不等 计数器+1.
处理2 yard 被释放时,对其引用的变量进行计数器-1.
注:如果yard所属的类对象为gamer1,game1 = nil;语句并不会使yard计数器-1.
assign针对基本数据类型,
3、readwrite readonly 读写,默认;只读
4、atomic nonatomic 线程安全,默认;非线程安全
5、retain copy retain是引用地址,计数器+1;copy深度复制,当然是针对的seter方法
时间: 2024-10-12 16:10:05