gpt4 book ai didi

ios - 合并或附加两个数据模型相同的结构以在 Swift 中发布值

转载 作者:行者123 更新时间:2023-11-29 11:25:17 24 4
gpt4 key购买 nike

具有相同的数据模型结构,我想合并数据,这样我就可以在单击按钮时将值发布到服务器。

  • 单元模型:我将此模型传递给 var UnitData 中的 AcceptanceViewcontroller 以进入最终阶段评论。
  • 验收模型:仅适用于最终备注(评论)和几个值。

如何将两个数据合并到一个 swift 中。

var AppData : Acceptance?
var UnitData: Unit?

let decoder = JSONDecoder()
let response = try decoder.decode(Acceptance.self, from: result! as! Data)
self.AppData = response
self.tableView.reloadData()

数据模型:

struct Unit : Codable {

var sectionList : [SectionList]?

}

struct Acceptance : Codable {

var sectionList : [SectionList]?

}

struct SectionList : Codable {

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

struct Item : Codable {

let actionType : Int?
let actionUrl : String?
let bgColor : String?
let booleanValue : Bool?
var textField : String?
var textValue : String?
let unitId : Int?
let latitude : Double?
let longitude : Double?
let actionParamData: String?
let actionTitle: String?
let pickList: [SectionList]?
let multiSelect: Bool?
let selectedValue: [String]?
let version: Int?
let masterId: Int?
let itemValue: String?
}

最佳答案

请记住以小写字母开头的变量命名。 AppDataUnitData 应该分别重命名为 appDataunitData

无论如何,@AlexandrKolesnik 在评论中提供的解决方案有效。你应该做:unitData?.sectionList?.append(contentsOf: appData?.sectionList ?? [])

如果您不想通过向其添加 appData 来修改 unitData,只需创建另一个数组并附加 unitData 然后 appData

var allSectionList: [SectionList] = []
allSectionList.append(contentsOf: unit?.sectionList ?? [])
allSectionList.append(contentsOf: acceptance?.sectionList ?? [])

要添加此答案的评论中描述的行为,我会向 SectionList 添加一个 bool 变量,指示它是否已被修改。然后无论您想合并两个列表,只附加那些将变量表示为 trueSectionList。例如:

struct SectionList : Codable {
let title : String?
var items : [Item]?
var modified = false
}

如果您的用户修改了 SectionList,则将 modified 变量设置为 true。在合并数据的瞬间:

var allSectionList: [SectionList] = []
allSectionList.append(contentsOf: unit?.sectionList ?? [])
acceptance?.sectionList?.forEach { section in
if section.modified {
allSectionList.append(section)
}
}

modified 变量添加到合并列表后,您可能需要将其设置为 false,但这取决于您以及您是否需要。

关于ios - 合并或附加两个数据模型相同的结构以在 Swift 中发布值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59171735/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com