Objective-C语言关键词,与@synthesize配对使用。
功能:让 编译器 自动编写一个与 数据成员 同名的方法声明来省去读写方法的声明。
如:
1、在 头文件 中:
@property int count;
等效于在头文件中声明2个方法:
- (int)count;
-(void)setCount:(int)newCount;
2、实现文件(.m)中
@synthesize count;
等效于在实现文件(.m)中实现2个方法。
- (int)count
{
return count;
}
-(void)setCount:(int)newCount
{
count = newCount;
功能:让 编译器 自动编写一个与 数据成员 同名的方法声明来省去读写方法的声明。
如:
1、在 头文件 中:
@property int count;
等效于在头文件中声明2个方法:
- (int)count;
-(void)setCount:(int)newCount;
2、实现文件(.m)中
@synthesize count;
等效于在实现文件(.m)中实现2个方法。
- (int)count
{
return count;
}
-(void)setCount:(int)newCount
{
count = newCount;
}
// @synthesize 会自动生成getter和setter的实现
// @synthesize int age 默认会去访问如age,no,height同名的变量, 而不是_age,如果要访问_age.则用 @synthesize int age=_age;
// 如果找不到同名的变量,会在内部自动生成一个私有同名变量如age,no,height,
// 因此.h 头文件中的这几个变量也可以省略不写。
1.在Xcode4.5及以后的版本中,可以省略@synthesize ,编译器会自动帮你加上getter 和 setter 方法的实现,并且默认会去访问_age这个成员变量,如果找不到_age这个成员变量,会自动生成一个叫做 _age的私有成员变量。
2.视频教学中建议变量名用"_"前缀作为开头。所以最好还是''_''开头。