Nasty NSPropertyListСериализация утечки - PullRequest
1 голос
/ 13 января 2011
NSString *anError = nil;
 id plist;
 plist = [NSPropertyListSerialization propertyListFromData:rawCourseArray mutabilityOption:NSPropertyListImmutable format:&format errorDescription:&anError];
 if (anError != nil){

  [anError release];
 }

Приведенный выше код вызывает утечку памяти каждый раз, когда я ее вызываю. Я выпускаю ошибку, но все еще есть утечка. Я не видел никакого решения этой проблемы. Я уже опубликовал это, и большинство ответили, что это не утечка. Но посмотрите здесь в инструменте производительности утечки:

alt text

Мне нужно это исправить, потому что в конце концов мое приложение падает. Есть идеи? Большое спасибо

Ответы [ 2 ]

1 голос
/ 02 апреля 2011

У меня была такая же проблема. Использовал propertyListWithData: параметры: формат: ошибка: с тем же результатом. Использовал NSDictionary initWithContentsOfFile с тем же результатом:

Утечка объекта # Размер адреса Ответственная библиотека Ответственный кадр NSCFNumber, 19 <несколько> 304 байта MediaToolbox FigRemote_CreatePropertyListFromBinaryPListData

FWIW - у меня есть только словари, массивы и строки в списке pList, без чисел.

Проблема не в объекте ошибки (или строке в вашем методе). Вопрос выше не указан, так как это должен быть авто-релиз. В конце концов, я сдался и переопределил, используя JSON и:

http://stig.github.com/json-framework/api/index.html

==> утечки больше нет.

Лучший, Фред

0 голосов
/ 13 января 2011

У меня раньше была такая же проблема.

В основном это потому, что ваша переменная error была освобождена без ее инициации.Итак, что вы можете сделать, это попробовать инициализировать вашу NSString *error пустой строкой перед ее освобождением.Или вообще не выпускать.

...