У меня есть приложение, в котором пользователь может выбрать несколько элементов на UITableView
. Затем они нажимают кнопку добавления, и он обновляет массив. Затем он перематывает назад к предыдущему VC. Теперь, когда пользователь нажимает, чтобы вернуться, чтобы обновить выбор.
Я хочу выбрать ячейку и проверить accessoryStyle
. Пока все работает, кроме выбора ячейки. Таким образом, массив будет иметь несколько параметров, и эти выбранные параметры будут отмечены галочкой.
Когда пользователь выбирает ячейку, didSelect
должен добавить эту опцию в массив, если это еще не сделано. Когда пользователь отменяет выбор, вызывается ячейка didDeselect
и элемент удаляется из массива. (Также отображается галочка или нет).
Теперь проблема в том, что пользователь возвращается в ячейки, у которых не выбраны галочки, и когда он выбирает эту продажу, он вызывает didSelect
вместо didDeselect
. Кажется, что большинство учебных пособий и справки, которые я нашел, работают только для одного выбора, и я не могу выделить ячейку. Смотрите изображения для более подробного разъяснения.
НОВЫЙ ВЫПУСК / ОБНОВЛЕНИЕ
Ну, первоначальная проблема исправлена. Теперь, когда я выбираю элемент 0 массива, элемент 10 массива также изменяет принадлежность. Это также повторяется постепенно.
это мои настройки массива
let expansionBayList: [ExpansionBay] = [ArcaneLaboratory(), CargoHold(), EscapePods(), GuestQuarters(), HangarBay(),
LifeBoats(), MedicalBay(), PassengerSeating(), PowerCoreHousing(), RecreationSuiteGym(),
RecreationSuiteTrividDen(), RecreationSuiteHAC(), ScienceLab(), SealedEnviromentChamber(), ShuttleBay()]
Поэтому, когда я выбираю Arcane Laboratory из списка, в Recreation Suite Trivid Den также есть галочка, но она не выбрана. Я предполагаю, что это как-то связано с reuseIdentifier? Я предполагаю, что мне нужно очистить, когда я прокручивал?
Я попробовал следующее (я устал в cellForRowAt):
cell.isSelected = true
cell.isHighlighted = true
Также я попробовал следующее (в viewDidLoad):
multiSelectTbl.allowsMultipleSelection = true
multiSelectTbl.allowsSelectionDuringEditing = true
Это первый раз, когда пользователь обновляет этот экран.
![enter image description here](https://i.stack.imgur.com/tu0hCl.png)
Это то, что происходит, когда пользователь выбирает залив расширения на предыдущем экране для обновления и внесения изменений. Как сделать так, чтобы каждая ячейка с галочкой была также выделена, как на первом изображении?
Существует массив, который определяет, какие поля должны иметь галочку.
![enter image description here](https://i.stack.imgur.com/hME95l.png)