将数据附加到模型始终为空 Swift

Appending data to model always empty Swift

我正在尝试根据选择在模型上附加数据。数据基于单元格索引选择,但由于某些原因它没有附加到模型。数据值在这里可能是我在附加数据时做错了什么。 我在附加数据后使用委托并将模型传递给之前的 viewController。

数据附加声明var dataItems: [Item]?

型号:

struct SectionList : Codable {

    let title : String?
    var items : [Item]?
}

struct Item : Codable {

    var textField : String?
    var textValue : String?
    var pickList: [SectionList]?
    var selection: [Item]?
    var multiSelect: Bool?
    var masterId: Int?
    var itemValue: String?

}

追加委托的主要函数: 这里 dataItems 没有在 selectedItem

上附加
if let selectedItem = AppData?.pickList?[indexPath.section].items?[indexPath.row] {
  dataItems?.append(selectedItem)
}


@IBAction func bittiBtn(_ sender: Any) {
        print(dataValue)
        pickDelegate?.listPick(listValue: dataValue, selectedItems: dataItems ?? [])
        self.navigationController?.popViewController(animated: true)
    }

我得到的值需要附加到 dataItems: [Item]?

▿ Item
  ▿ textField : Optional<String>
    - some : "Tipi ve kesiti uygun olmalı"
  - textValue : nil
  - pickList : nil
  - selection : nil
  - multiSelect : nil
  ▿ masterId : Optional<Int>
    - some : 671
  ▿ itemValue : Optional<String>
    - some : "347"

您需要初始化您的 dataItems 数组

var dataItems = [Item]()

如果您仍然希望它是可选的,您可以

var dataItems:[Item]? = [Item]()