2010-09-17 3 views
1

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

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

[Tableview deleteRowsAtIndexPaths: indexPathArray withRowAnimation: UITableViewRowAnimationTop]

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

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

ответ

1

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

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

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

+0

Я использую Deque ... метод, но я пропустил autorelease метод при выделении ячейки, поэтому проблема теперь решена .. Спасибо за ваш ответ .. – Sanniv

Смежные вопросы