Память о развитии iPhone - PullRequest
0 голосов
/ 19 июня 2011

Я знаю, что люди здесь могут помочь мне с моей проблемой в предупреждениях памяти в моем приложении.У меня есть несколько объектов, добавленных в мой Nib-файл, подключенных к нескольким IBOutlets и освобождающих эти выходы в моих методах viewDidUnload и dealloc, я также установил их в nil, но он продолжает сбой после ошибки «Received Memory Warning = Level 1»сообщение.Я использовал NWPickerField для своих объектов в файлах Nib.

http://cocoacontrols.com/platforms/ios/controls/nwpickerfield

Я просто надеюсь, что кто-нибудь здесь пытался использовать это :) спасибо и ура!

Ответы [ 2 ]

0 голосов
/ 19 июня 2011

Если вы получаете сбой, когда получаете предупреждение о памяти, это обычно означает, что что-то освобождается, но указатель не установлен на ноль, вы пытаетесь получить к нему доступ, и Crash!

Подобные ошибки бывает сложно отследить. Несколько типов: Вы можете поиграть с инструментами XCode (используя Build & Profile в XCode 4) - в частности, с инструментами Zombies, которые «хранят мертвые объекты вокруг (как зомби)», но сообщают, когда к ним обращаются. Еще один полезный момент - точка наблюдения. Когда симулятор запустится, щелкните правой кнопкой мыши переменную в консоли и скажите «Смотреть этот адрес». Тогда любая строка кода, которая вызывает изменение в этой области памяти, будет вызывать точку останова, когда это происходит. Еще одна вещь, которую стоит попробовать, - это просто пробежаться по всем вашим ivars, init и dealloc и убедиться, что вы действительно получили все случаи.

0 голосов
/ 19 июня 2011

Как вы упомянули в своем вопросе.

Я также установил их на ноль,

Сделайте правильную очистку памяти. сначала вызвав функцию release или оператор delete, затем назначьте объект с помощью nil.

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