在 ARC 项目中工作时,使用实例变量(在接口上声明)、它们@property
的正确方法是什么?@synthesize
我现在要做的是:
SomeClass.h:
@interface SomeClass : NSObject {
NSString *someString;
}
@property(nonatomic, copy) NSString* someString;
和 SomeClass.m:
@implementation SomeClass
@synthesize someString;
- (void)someMethod {
self.someString = @"Foobar";
}
问题是还有其他可行的方法,比如只使用@property:
SomeClass.h:
@interface SomeClass : NSObject
@property(nonatomic, copy) NSString* someString;
访问someString
没有self
:
SomeClass.m:
@implementation SomeClass
@synthesize someString;
- (void)someMethod {
someString = @"Foobar";
}
等等。我是 Objective-c 的新手,我已经习惯了 Java。那么使用属性的正确方法是什么?我知道特殊情况会有特殊行为,但一般来说最好的方法是什么?(一般来说,我的意思是我想从类本身和“外部”访问变量,并且我希望 ARC 仍然可以正常工作,例如,我不必担心内存泄漏)