Я новичок в разработке для iPhone, и у меня утечка памяти.
Я использую NSMutableArray для получения содержимого файла .plist, расположенного в каталоге Documents.
В первый раз, когда я его использую, все идет хорошо, но если я позвоню несколько раз, я получу утечку памяти.
Это мой код:
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
NSArray *paths = NSSearchPathForDirectoriesInDomains
(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
//make a file name to write the data to using the
//documents directory:
fullFileName = [NSString stringWithFormat:@"%@/SavedArray", documentsDirectory];
//retrieve your array by using initWithContentsOfFile while passing
//the name of the file where you saved the array contents.
savedArray = nil;
savedArray = [[NSMutableArray alloc] initWithContentsOfFile:fullFileName];
self.composedArray = [savedArray copy];
[savedArray release];
[self.tableView reloadData];
}
Я освобождаю его каждый раз, когда вид исчезает
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
[composedArray release];
composedArray = nil;
[savedArray release];
}
Я использую инструменты, и это показывает, что источником утечки памяти является строка кода:
savedArray = [[NSMutableArray alloc] initWithContentsOfFile:fullFileName];
Я не знаю, как решить эту утечку, если кто-то может поделиться каким-либо решением этого, я был бы очень признателен.
Заранее спасибо.