【发布时间】: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)")
}
}
【问题讨论】: