【问题标题】:Get Index of Parsed JSON data in Swift在 Swift 中获取解析的 JSON 数据的索引
【发布时间】:2020-08-20 17:50:27
【问题描述】:

以下是我的数据结构。我正在尝试创建一个循环来检查员工是否可以执行某项服务,但我无法让 employee.services 工作。 JSON 数据被加载到EmployeesData。我在想我需要从EmployeesData 获取索引,但我似乎不能用ForEach 来做?

ForEach(EmployeesData){ employee in
  //This does not work
  if(employee.services[0] == "service")
}


struct Employees: Codable, Identifiable{
  var id: UUID
  var firstname: String
  var lastname: String
  var services: [String]
  var workingStatus: String
}

//Store employee data in EmployeesData
let EmployeesData: [Employees] = load("Employees.json")

private func load<T: Decodable>(_ filename: String) -> T {
let data: Data

guard let file = Bundle.main.url(forResource: filename, withExtension: nil)
    else {
        fatalError("Couldn't find \(filename) in main bundle.")
}

do {
    data = try Data(contentsOf: file)
} catch {
    fatalError("Couldn't load \(filename) from main bundle:\n\(error)")
}

do {
    let decoder = JSONDecoder()
    return try decoder.decode(T.self, from: data)
} catch {
    fatalError("Couldn't parse \(filename) as \(T.self):\n\(error)")
}
}

【问题讨论】:

    标签: arrays json swift swiftui


    【解决方案1】:
    if let index = employee.services.firstIndex(where: {$0 == "service"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-29
      • 1970-01-01
      • 2016-09-09
      • 2021-03-23
      • 2020-01-08
      • 1970-01-01
      • 2017-07-14
      相关资源
      最近更新 更多