swift 存储阵列自定义阵列信息

tag5nh1u  于 2023-03-07  发布在  Swift
关注(0)|答案(1)|浏览(92)

当谈到存储数组信息时,我有一个疑问,这是我的API

WalletService.shared.getSiteDetails { siteDetails, error in
                
            }

***siteDetails***将为我提供decodeJson信息,检索的多个信息之一是

public let fuelGrades: [MBFuelGrades]?

里面有这个

public struct MBFuelGrades: Codable {
    public let fuelType: String?
    public let price: Double?
    public let priceTier: String?
}

因此,当我的API调用响应时,我通过打印得到这个数组,它可以包含多个元素,而不仅仅是一个

po siteDetails?.fuelGrades
▿ Optional<Array<MBFuelGrades>>
  ▿ some : 1 element
    ▿ 0 : MBFuelGrades
      ▿ fuelType : Optional<String>
        - some : "REGULAR"
      ▿ price : Optional<Double>
        - some : 1.339
      ▿ priceTier : Optional<String>
        - some : "CREDIT"

我要做的是将fuelTypeprice存储在不同的数组中
例如:

var fuelGradesTypes: [String] = [""]
var fuelGradesPrice: [Double] = [0.0]

我的问题是如何将这些元素存储在数组中?

jm81lzqq

jm81lzqq1#

你需要

guard let grades = siteDetails.fuelGrades else { return }

fuelGradesTypes = grades.compactMap { $0.fuelType }
fuelGradesPrice = grades.compactMap { $0.price }

相关问题