第一种.
.h文件里
@interface Test : NSObject{
NSString *s;
}
第二种.
.h文件里
@interface Test : NSObject{
NSString *s;;
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s;
第三种.
.h文件里
@interface Test : NSObject{
}
@property (copy, nonatomic) NSString *s;
.m文件里
@synthesize s = _s; //有没有都无所谓
方式一 声明的成员变量只能在类内部使用。
方式二 显然是一种已经过时的方式,xcode在没有自动合成属性器之前,需要手写getter与setter方法、,下划线从风格上表明这是类的内部变量,要是需要直接使用变量则需要使用get或者set的方式。
XCode有了自动合成属性器后,编译器会自动帮我们生成一个以下划线(_)开头的的实例变量,所以我们不必去同时声明属性与变量。
方式三 推荐使用 目前主流的使用方式。在.m里加不加 @synthesize s = _s; 都无所谓。
一定注意@synthesize方法放到@implementation......@end之内~