Есть ли способ в Xcode 4 найти объекты, которые не были освобождены? - PullRequest
0 голосов
/ 24 июня 2011

В моем приложении у меня есть случайные объекты, плавающие в моем представлении, которые я УБЕРИЛ через [NSMutableArray replaceObjectAtIndex: index withObject: newObject] НО оказывается, что после того, как я сделал альфа = 0,5, эти замененные старые объекты все еще былитам.Поскольку я использую новый xcode 4 с ARC, я не могу проверить, не удалось ли этим объектам освободить память или что-то в этом роде.Итак, есть ли какая-либо техника или команда в xcode 4 (да, новая), которая может помочь с этой отладкой сорта?

Кроме того, в xcode 4 удалит ли объект из вида удаление его?Я использовал [object.view removeFromSuperView], чтобы вывести их из поля зрения, но я не знаю, существуют ли они где-то еще, вызывая утечки памяти.

Ответы [ 2 ]

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

Я согласен, что использование инструментов (/ Developer / Applications / Instruments) - это путь, но вы также можете устанавливать точки останова в своем коде.См. Раздел «Отладка и анализ вашего кода» в « Руководство по переходу Xcode 4 ». Я бы также предложил перебирать подпредставление суперпредставления, используя подпредставления свойств представления, например:

    for ( UIView *view in self.view.subviews) {
        // Check your objects here.
}

Что касается управления памятью, если вы используете new, alloc, mutablecopy или copy, вы владеете ею и должны позаботиться о распределении и освобождении памяти объекта.Вы можете использовать auto release или разблокировать его в своем методе dealloc.Метод uiview removeFromSuperView освободит ваш объект.

Надеюсь, это поможет, fragilecat

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

Лучший способ получить помощь в этой области - использовать инструменты (в частности, инструмент выделения), чтобы «отладить», какие объекты еще живы и каков их стек вызовов.Требуется немного повозиться, но это мощный набор инструментов.

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