deleteRowsAtIndexPaths не освобождает ячейку? - PullRequest
1 голос
/ 17 сентября 2010

У меня есть функция в моем табличном представлении, то есть когда вы нажимаете на ячейку, она загружает больше ячеек ниже повернутой ячейки, и когда вы снова нажимаете на ту же ячейку, эти добавленные ячейки удаляются.

Но у меня странное поведение, когда я вызываю метод ниже, чтобы удалить добавленные ячейки из табличного представления, метод ячейки dealloc не вызывается .. (Я поместил NSLog в метод dealloc)

[tableView deleteRowsAtIndexPaths: indexPathArray withRowAnimation: UITableViewRowAnimationTop]

и когда я вызываю insertRowsAtIndexPaths, создается новый экземпляр ячеек, в инструментах, которые я проверял, предыдущие экземпляры остаются в памяти, а новые создаются снова и снова.

, пожалуйста, скажите мне, почему deleteRowsAtIndexPaths не вызывает release для удаленной ячейки? и какое-то решение этой проблемы. Я обеспокоен тем, что реальное и виртуальное потребление памяти приложениями постоянно увеличивается при непрерывных нажатиях ...

1 Ответ

1 голос
/ 17 сентября 2010

Используете ли вы метод dequeuereusablecellwithidentifier: UITableView в cellForRowAtIndexPath: для создания новых ячеек?

Если нет, это нормально. UITableViews хранят ячейки в памяти для их повторного использования и избегают необходимости постоянно выделять / освобождать.

Вы должны взглянуть на этот учебник, например: http://www.mobisoftinfotech.com/blog/iphone/introduction-to-table-view/

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