@property示例:
@interface Book : NSObject
@property (retain) NSString *name;
@end
@property参数:
/*
1.内存管理相关的参数
* retain :release旧指,retain新值(适用于OS对象类型)
* assign :直接赋值(默认,适用于非OS对象类型)
* copy :release旧指,copy新值
2.是否要生成set方法
*readwrite :同时生成setter和getter的声明、实现(默认)
*readonly :只会生成getter的声明、实现
3.多线程管理
* nonatomic :性能高(一般就用这个)
* atomic :性能低(默认)
4.setter和getter方法的名称
* setter :决定了set方法的名称,一定要有个冒号“:”
* getter :决定了get方法的名称(返回BOOL类型的方法名一般以is开头)
*/
注意:使用@property自动生成的set/get方法,需要手动加上dealloc方法释放内存:
#import "Book.h"
@implementation Book
- (void)dealloc
{
[_name release];
[super dealloc];
}
@end