Я запутался в том, как правильно написать собственные методы init для вашего собственного подкласса с точки зрения управления памятью, пользовательских подклассов и массивов. Если у меня есть свойства, такие как:
@property (nonatomic, retain) NSString *name;
@property (nonatomic, retain) NSMutableArray *array;
@property (nonatomic, retain) SomeSubclassOfNSObject *object;
@interface SomeSubclassofNSObject
@property (nonatomic, retain) NSString *category;
Как мне написать мой метод инициализации?
Вы делаете:
initWithName:(NSString *)aName object:(SomeSubclassOfNSObject *)anObject {
if (self = [super init]) {
self.name = aName; // or do you do name = aName or name = [aName copy] autorelease] or name = [NSString alloc] initWithFormat:@"%@", aName]
self.object = anObject; // do I need to make a copy of this object so they don't point to the same object?
// loop through NSMutableArray and copy the objects?
// not really sure what to do for arrays.
}
return self;
}