因为 此时对象的情况还不确定,所以不推荐使用 属性。
苹果的文档
Don’t Use Accessor Methods in Initializer Methods and dealloc
The only places you shouldn’t use accessor methods to set an instance variable are in initializer methods and
dealloc. To initialize a counter object with a number object representing zero, you might implement an init
method as follows:
- init {
self = [super init];
if (self) {
_count = [[NSNumber alloc] initWithInteger:0];
}
return self;
}
To allow a counter to be initialized with a count other than zero, you might implement an initWithCount:
method as follows:
- initWithCount:(NSNumber *)startingCount {
self = [super init];
if (self) {
_count = [startingCount copy];
}
return self;
}
Since the Counter class has an object instance variable, you must also implement a dealloc method. Itshould
relinquish ownership of any instance variables by sending them a release message, and ultimately it should
invoke super’s implementation:
- (void)dealloc {
[_count release];
[super dealloc];
}