メモリ管理と重複する初期化子について質問があります。これは完全に機能するイニシャライザーであると確信しています(初期化メソッドでセッターを呼び出す場合でも、推奨されていません)。。。
@synthesize age = _age, name = _name, delegate = _delegate;
- (id)initWithName:(NSString *)name Age:(int)age delegate:(MyDelegateClass *)delegate
{
if (self = [super init]) {
[self setName:name];
[self setAge:age];
[self setDelegate:delegate];
}
return self;
}
しかし、この初期化子はどうですか?それらのivarにメモリを割り当てる必要がありますか、それともこのように箱から出してすぐに機能しますか?
- (id)initWithName:(NSString *)name Age:(int)age delegate:(MyDelegateClass *)delegate
{
if (self = [super init]) {
_name = name;
_age = age;
_delegate = delegate;
}
return self;
}