Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/104.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将数据添加到模型始终为空_Ios_Arrays_Swift_Model_Codable - Fatal编程技术网

Ios 将数据添加到模型始终为空

Ios 将数据添加到模型始终为空,ios,arrays,swift,model,codable,Ios,Arrays,Swift,Model,Codable,我试图根据选择在模型上添加数据。数据是基于单元索引选择的,但由于某些原因,它并没有附加到模型中。这里的数据值可能是我在附加数据时出错了。 我在附加数据并将模型传递给上一个viewController之后使用委托 我需要在项目-选择中添加数据-参见模型 数据追加声明var dataItems:[项目]? ▿ Item ▿ textField : Optional<String> - some : "Tipi ve kesiti uygun olmalı" - tex

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

  • 我需要在
    项目-选择中添加数据
    -参见模型
数据追加声明
var dataItems:[项目]?

▿ 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"

型号:

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?

}
附加然后委派的主要功能: 此处数据项未在
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
  ▿ 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"

▿ 项目
▿ 文本字段:可选
-一些:“Tipi ve kesiti维吾尔族嗅觉”
-textValue:nil
-挑选名单:无
-选择:无
-多选:无
▿ masterId:可选
-部分:671
▿ itemValue:可选
-一些:“347”

您需要初始化
数据项
数组

var dataItems = [Item]()
如果你仍然希望它是可选的,你可以这样做

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

您在哪里声明数据项?您尚未初始化数据项数组。。。。这就是为什么它不是appending@jawadAli它的初始化器,其中变量在类名之后声明。你们也能显示那个代码吗?它声明了它,但并没有初始化它。您需要类似于
var-dataItems=[Item]()