@property参数分为3类:
读写属性:readwrite/readonly
setter处理:assign/retain/copy
原子性:atomic/nonatomic
readwrite表示生成getter和setter方法,默认类型;
readonly表示只生成getter方法;
assign表示直接赋值,适合内置数据类型,默认类型;
retain表示在setter方法中,release旧值,retain新值;
copy表示在setter方法中,release旧值,再copy新值;
atomic表示给getter和setter方法加锁,确保多线程安全;
nonatomic表示不给getter和setter方法加锁。
@property还可以用来改写setter或者getter的方法名,例如:
@property (getter = isTaller) BOOL taller;
读写属性:readwrite/readonly
setter处理:assign/retain/copy
原子性:atomic/nonatomic
readwrite表示生成getter和setter方法,默认类型;
readonly表示只生成getter方法;
assign表示直接赋值,适合内置数据类型,默认类型;
retain表示在setter方法中,release旧值,retain新值;
copy表示在setter方法中,release旧值,再copy新值;
atomic表示给getter和setter方法加锁,确保多线程安全;
nonatomic表示不给getter和setter方法加锁。
@property还可以用来改写setter或者getter的方法名,例如:
@property (getter = isTaller) BOOL taller;
本文详细介绍了Objective-C中@property的使用方法及其参数含义,包括读写属性、setter处理方式及原子性等,并举例说明如何自定义getter和setter方法名。
304

被折叠的 条评论
为什么被折叠?



