#import <Foundation/Foundation.h>
/*
1.set方法内存管理相关的参数
retain :release 旧值,retain新值
assign :直接赋值(默认,适应于非oc对象类型)
copy :release旧值,copy真值
2.是否要生成set方法
readwrite :同时生成setter和getter的声明,实现
readonly:只会生成getter的声明,实现
3.nonatomic :性能高(一般用这个)
atomic : 性能低(默认)
4.setter和getter方法的名称
setter :决定了set方法的名称,一定要有个冒号:
getter :决定了get方法的名称(一般用在BOOL类型)
@property (getter = abc,setter = serAabc) int age;
//返回Bool类型的方法名一般以is开头
//@property (getter = isRich) BOOL rich;
*/
@interface Book : NSObject、
@property int price;
@end
@implementation Book
@end
/*@interface Person : NSObject
{
Book *_book;
}
- (Book *)book;
- (void)setBook:(Book *)book;
@end
@implementation Person
- (Book *)book
{
return _book;
}*/
@interface Person : NSObject
@property (nonatomic,retain,readwrite) Book *book;
@end
@implementation Person
- (void)dealloc
{
[_book release];
[super dealloc];
}
@end
int main (int argc, const char *argv[])
{
return 0;
}