Почему утечка памяти в Xcode - PullRequest
3 голосов
/ 01 декабря 2011

Я не знаю, почему это приводит к утечке памяти в xcode 4.2.Так как я не alloc eventArraySave мне нужно выпустить это?Я думал, что это будет добавлено в пул autorelease.

//Unarchive in to array
NSMutableArray *eventArraySave = [NSKeyedUnarchiver unarchiveObjectWithFile:savedfilePathName];

Нужно ли его выпускать или в коде выше что-то не так?Также хочу подчеркнуть, что у меня нет alloc ed eventArraySave или init ed eventArraySave.Заранее спасибо:)

Ответы [ 3 ]

2 голосов
/ 01 декабря 2011

Вы не должны выпускать eventArraySave.Он будет возвращен вам с чистым счетом хранения 0 (после автоматического выпуска).Если вы видите утечки из этой строки, то это говорит о том, что вы чрезмерно сохраняете ее где-то в другом месте, или, возможно, вы чрезмерно сохраняете некоторый объект, который содержится в eventArraySave (поскольку именно здесь этот объект выделяется какхорошо).

Инструменты утечки не говорят вам, где ваша ошибка.Они говорят вам, где вы распределили память, которая была позже просочилась.

0 голосов
/ 01 декабря 2011

Утечки просто говорят вам, что память была создана там, но не освобождена позже.

Теперь ваша задача выяснить, что должно было освободить ее, но это не так.

0 голосов
/ 01 декабря 2011

Нет ничего плохого в коде, который вы разместили.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...