I have a question about initializers that overlaps with memory management. I’m confident that this is a perfectly functional initializer (even tho it calls setters in the init method which is discouraged) . . .
@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;
}
But what about this initializer? Do i need to allocate memory for those ivars or does it just work out of the box like this?
- (id)initWithName:(NSString *)name Age:(int)age delegate:(MyDelegateClass *)delegate
{
if (self = [super init]) {
_name = name;
_age = age;
_delegate = delegate;
}
return self;
}
A few things:
so …