Могу ли я освободить объект, который был добавлен в NSMutableArray, или это влияет на сбой? - PullRequest
1 голос
/ 19 августа 2010

У меня один вопрос по поводу управления памятью NSMutableArray. Я создаю объект своего пользовательского класса и добавляю этот объект в NSMutableArray. Сохраняется ли это автоматически, чтобы я мог освободить свой созданный объект?

Спасибо!

Ответы [ 2 ]

4 голосов
/ 19 августа 2010

Да, он автоматически сохраняется. Вы должны освободить свой объект после добавления его в массив (или использовать autorelease )

Например:

NSMutableArray *array = [[NSMutableArray alloc] init];

[array addObject:[[[MyClass alloc] init] autorelease]];

// or

MyClass * obj = [[MyClass alloc] init];

[array addObject:obj];

[obj release];
1 голос
/ 19 августа 2010

Да, вы можете сделать это, например:

NSMutableArray *array = [[NSMutableArray alloc] init];
NSString *someString = @"Abc";
[array addObject:someString];
[someString release];
NSLog(@"Somestring: %@", [array objectAtIndex:0]);
...