在 Obj-C 中,我们需要声明实例变量吗?
例如,如果我的 .h 文件如下:
@interface MyClass : NSObject {
}
@property (nonatomic, retain) NSNumber *someId;
@property (nonatomic, retain) NSDate *expires;
@property (nonatomic, retain) NSString *someString;
...
这样可以吗?它可以编译和运行,是“正确的”做法吗?还是我真的应该像下面这样做:
@interface MyClass : NSObject {
NSNumber *someId;
NSDate *expires;
NSString *someString;
}
@property (nonatomic, retain) NSNumber *someId;
@property (nonatomic, retain) NSDate *expires;
@property (nonatomic, retain) NSString *someString;
...
如果我计划始终使用属性访问器,上述两种方式有区别吗?
@synthesize是否为我创建实例变量?