【发布时间】:2011-08-11 18:00:44
【问题描述】:
我应该使用访问器方法还是直接访问 iVar?:
- (id)initWithData: (NSData *)someData;
{
if (self = [super init]) {
NSXMLParser *parser = [[NSXMLParser alloc] initWithData: someData];
[parser setDelegate: self];
[parser parse];
[parser release];
}
return self;
}
- (void)parser: (NSXMLParser *)parser didStartElement: (NSString *)elementName namespaceURI: (NSString *)namespaceURI qualifiedName: (NSString *)qName attributes: (NSDictionary *)attributeDict
{
[self setValue: someValue]; // Setting an iVar of self
[[self value] setOtherValue: otherValue]; // Setting an iVar of an object that's an iVar of self
}
【问题讨论】:
-
与什么相反,直接访问 ivars?这并不重要,但问题在这里并不明确。
-
与直接访问它们相反,是的。对不起,我没有说清楚。我编辑了问题。
标签: objective-c init accessor