@interface Foo : NSObject
@property (nonatomic, retain) Bar * bar;
@end
@implementation Foo
@synthesize bar = _bar;
- init {
self = [super init];
if (self) {
_bar = [[Bar alloc] init];
// Or
_bar = [[[Bar alloc] init] autorelease];
}
return self;
}
- (void)dealloc {
[_bar release];
[super dealloc];
}
@end
アナライザーを実行すると、両方
_bar = [[Bar alloc] init];
と
_bar = [[[Bar alloc] init] autorelease];
は大丈夫です。
どちらを使うべきですか?