UIView сохраняется - PullRequest
       26

UIView сохраняется

0 голосов
/ 05 октября 2010

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

У меня есть UIViewController с несколькими UIViews, каждый из которых сохраняет свойства IBOutlet.

Я уверен, что выпустить UIView в методе dealloc UIViewController. Однако сделка моего UIView никогда не называется. Я понятия не имею, что еще сохранило UIView.

Все остальные UIView в моем UIViewController прекрасно работают, только этот нет.

Есть ли у кого-нибудь хорошие методы для отслеживания того, что за это может быть ответственным?

С уважением, Рич

Ответы [ 2 ]

2 голосов
/ 05 октября 2010

Я бы начал с захода в приложение инструментов и выбора профиля «утечки».Выберите ваше приложение и запустите его для обнаружения утечек.

Когда оно обнаружит вашу утечку, нажмите на индикатор сведений по адресу памяти объекта, который просочился (ваш UIView).Здесь вы увидите, как ваш UIView распределяется, сохраняется и освобождается, и какой вызов функции это сделал.

Существует хорошее видео WWDC под названием «Сессия 311 - Расширенный анализ памяти с помощью инструментов», если вы хотите посмотреть это,они углубляются в это.

1 голос
/ 05 октября 2010

Обязательно прочитайте Управление памятью объектов перьев из Руководства по программированию управления памятью Apple.В нем описывается, как правильно объявлять IBOutlets и когда и как их выпускать в контроллере представления.

Краткая версия: для свойства IBOutlet следует установить значение nil в ViewDidUnload.

Если это не поможет, вы можете попробовать запустить инструмент Leaks Instruments и посмотреть, сможет ли он найти место, где у вас просачивается ваш взгляд.

...