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


т AppleTableView и повторное использование клетки убивает меня. Я искал, искал и учился, но не могу найти хорошие документы или хорошие ответы. Проблема в том, что когдаTableView повторное использование ячеек, такие как галочки (принадлежность ячейки), установленные в выбранной ячейке, повторяются в ячейках далее в представлении таблицы. Я понимаю, что повторное использование ячеек разработано из-за ограничений памяти, но если у вас есть список, скажем, с 50 элементами, и он начинает устанавливать дополнительные галочки там, где они не нужны, это делает все усилия бесполезными.

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

У Apple даже есть пример проекта под названием TouchCell, который можно загрузить из центра разработки, который должен показать другой способ установки галочки с помощью пользовательской ячейки с элементом управления изображением слева. Проект использует объект словаря для источника данных вместо изменяемого массива, поэтому для каждого элемента есть строковое значение и проверенное значение bool. Предполагается, что это проверенное значение bool устанавливает галочку, чтобы можно было отслеживать выбранные элементы. Этот пример проекта также отображает это глупое поведение, как только вы заполните TableView 15+ ячейками. Повторное использование ячеек начинает устанавливать нежелательные галочки.

Я даже пытался экспериментировать с использованием действительно уникального идентификатора ячейки для каждой ячейки. Поэтому вместо того, чтобы в каждой ячейке было что-то вроде @ "Acell", я использовал статический тип int, приводил к строке, чтобы ячейки получали @ "cell1", @ "cell2" и т. Д. Во время тестирования я мог видеть, что сотни новых ячеек генерируется при прокрутке, даже если в таблице было только 30 элементов.

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

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

Кто-нибудь придумал элегантное решение этого раздражающего поведения?

Ответы на вопрос(1)

Ваш ответ на вопрос