Добавить или добавить раздел со строками поверх значений данных tableView Swift - PullRequest
0 голосов
/ 14 февраля 2020

Я создал DataList в UITableView с разделами и строками. Плюс я реализовал функцию делегата для add & delete функций. На самом деле мне нужно добавить или добавить новое значение section и row, которое выбрано. Моя первая модель - PickListData, а затем значения других секций извлекаются из Item -> pickList.

Иерархия моделей: PickListData -> let items: [Item]? -> var pickList: [SectionList]? -> textField

Я реализовал func didAddnewRow(_ sender: UIButton), но в разделе добавлена ​​строка добавления, и мне нужен новый раздел сверху с именем Selected.

  • Вопрос в том, как поставить Section Выбранный и строку, выбранную из нижеприведенных разделов.

Изображения прикреплены текущие и актуальные я хочу реализовать.

1 Ответ

0 голосов
/ 14 февраля 2020

Вы забыли добавить новый раздел перед добавлением строки в этот раздел. После вставки раздела «Выбранные» раздел «A. Items» будет перемещен вниз.

func numberOfSections(in tableView: UITableView) -> Int {
        return AppData?.pickList?.count ?? 0
    }



 func sectionIndexTitles(for tableView: UITableView) -> [String]? {

  return [“Selected", “A. Items"]
}




 func didAddnewRow(_ sender: UIButton) {
    if let cell = sender.superview?.superview as? DictionaryTableViewCell,
        let indexPath = self.tableView.indexPath(for: cell) {

        if let selectedItem = AppData?.pickList?[indexPath.section].items?[indexPath.row] {

            let insertIndexPath = IndexPath(item: AppData?.pickList?[0].items?.count ?? 0, section: 0)


    if !AppData?.pickList.contains(where: {$0.title == “Selected" }) {


   AppData?.pickList.append(SectionList(title: “Selected”, items: selectedItem))

   tableView.insertSections(IndexSet([selectedItem]), with: .automatic)

    } else {

      AppData?.pickList?[0].items?.append(selectedItem)
  }


            cell.btnAdd.isHidden = true
            cell.btnDelete.isHidden = false
            tableView.beginUpdates()

            tableView.insertRows(at: [insertIndexPath], with: .automatic)
            tableView.endUpdates()

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