gpt4 book ai didi

arrays - JSONDecoder - 为解码的每个元素执行方法

转载 作者:行者123 更新时间:2023-11-28 07:44:27 25 4
gpt4 key购买 nike

我正在使用 JSONDecoder 将 JSON 解码为 MyModel 数组:

myModelArray : [MyModel] = try JSONDecoder().decode([MyModel].self, from: data)

一切正常,我得到了我的数组,但我想在每次元素完成解码时为我的模型数组的每个元素执行一个方法。现在我正在这样做:

for city in myModelArray! {
//Creating polygon
city.createPolygon()
}

它有效但不是最优的,有没有办法在每次解码器完成解码数组的一个元素时执行一个方法?例如完成?

谢谢

最佳答案

感谢 Joakim 的回答,我只需要在我的 Decodable 模型中覆盖 init(from decoder: Decoder) 来手动解码,如下所示:

required init(from decoder: Decoder) throws {
let values = try decoder.container(keyedBy: CodingKeys.self)

property1 = try values.decode([String].self, forKey: .property1)
property2 = try values.decode(String.self, forKey: .property2)

//Calling my method
getCityPolygon()
}

关于arrays - JSONDecoder - 为解码的每个元素执行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51458826/

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