有了一个实例变量myArray的一个实例:初始化变量
@interface AppController : NSObject
{
NSArray *myArray;
}
有时候我看到myArray的初始化是这样的:
- (void)init
{
[super init];
self.myArray = [[NSArray alloc] init];
return self;
}
,有时我看到它与更复杂的方法:
- (void)init
{
[super init];
NSArray *myTempArray = [[NSArray alloc] init];
self.myArray = myTempArray
[myTempArray release];
return self;
}
我知道最终结果没有什么区别,但为什么人们会打扰做更长的版本?
我的感觉是,如果实例变量设置为@property和@synthesize(可能因为变量已被分配),则较长版本更好。这是部分原因吗?
谢谢。
您将方法命名为'init'完全是误导性的,因为它们都不具备远程资格作为ini tializer。 – bbum 2009-09-25 04:08:43