【发布时间】:2019-08-28 04:15:28
【问题描述】:
假设我想使用 JSON 资源测试一堆类型的序列化:
let bundle = Bundle(for: type(of: self))
let decoder = JSONDecoder()
let tests : [(filename: String, type: ???)] = [
("Employee", Employee.self),
("Job", Job.self)
]
for test in tests {
let filename = test.filename
let type = test.type
guard let url = bundle.url(forResource: filename, withExtension: "json") else {
XCTFail("Failed to load file: \(filename).json")
return
}
do {
let data = try Data(contentsOf: url)
let json = try JSONSerialization.jsonObject(with: data, options: [])
let obj = try decoder.decode(type, from: data)
}
}
test 元组应该如何声明?
【问题讨论】:
-
是???占位符还是这只是我以前在 swift 中从未见过的东西?
-
占位符。问题是那里有什么
-
我认为这是不可能的。您必须在编译时提供要解码的类型。
标签: ios swift xcode generics tuples