微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Swift中获取已解析JSON数据的索引

如何解决在Swift中获取已解析JSON数据的索引

下面是我的数据结构。我正在尝试创建一个循环,以检查员工是否可以执行某些服务,但是我无法使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)")
}
}

解决方法

if let index = employee.services.firstIndex(where: {$0 == "service"})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。