【发布时间】:2013-05-24 08:04:21
【问题描述】:
我更喜欢像这样在 Objective-C 中为类使用属性(这在较新的 Xcode 版本中似乎是标准的):
/* MyClass.h */
@interface MyClass : NSObject;
@property (nonatomic, strong) NSArray *myArray;
@end;
/* MyClass.m */
#import MyClass.h
@implementation
@synthesize myArray = _myArray;
- (void)anyMethod {
self.myArray = // do something
}
@end
但是在网络上的一些 github 存储库中,我发现了使用属性的不同方式,例如:
/* MyClass.h */
@interface MyClass : NSObject {
NSArray *myArray;
}
// sometimes the @property is used here too
@end;
/* MyClass.m */
#import MyClass.h
@implementation
- (void)anyMethod {
_myArray = // do something
}
@end
这些方式之间究竟有什么区别?我读到它必须通过访问实例变量来做一些事情。但是为什么有些人在@interface 部分声明变量而不(或有时)使用@property?
【问题讨论】:
标签: objective-c xcode properties synthesize