Я почти уверен, что это вызывает утечку, и я хотел бы получить несколько советов. Вот код, основанный на том, что я делаю:
NSMutableArray* straVideoTitles;
- (void) parseData{
//stuff
straVideoTitles = [self getVideoTitle:strData]; //strData contains unparsed data
//more stuff
}
- (NSMutableArray*) getVideoTitles:(NSString*)strData{
NSMutableArray *array;
array = [[NSMutableArray alloc] init];
//Parse data and populate array
return array;
}
Исходя из того, что я выделяю пространство для NSMutableArray, а не освобождаю его, это утечка, верно? Как мне справиться с этим? Если я воздержусь от возврата значения и назначу straVideoTitles внутри getVideoTitles, то выпустите как:
- (void) getVideoTitles:(NSString*)strData{
NSMutableArray *array;
array = [[NSMutableArray alloc] init];
//Parse data and populate array
straVideoTitles = array;
[array release];
}
или я все делаю неправильно? Или все нормально, потому что я выпускаю straVideoTitles в dalloc?