我有一个应用程序的 git 存储库,该应用程序运行正常,可在 iTunes 上使用。我最近想为其添加一些更新并将项目导入 xCode 10。当我尝试构建解决方案时,出现错误“无法推断通用参数‘T’”
我尝试更新所有正在使用的 pod。
这是有错误的代码
static func toJSON<T>(_ data: [T]) -> NSArray {
let encoded = try! JSONEncoder().encode(data)
let jsonObject = try! JSONSerialization.jsonObject(with: encoded,
options: []) as! NSArray
return jsonObject
}
错误似乎出现在这一行
let encoded = try! JSONEncoder().encode(data)
我对 Swift 很陌生,只继承了这个项目,所以我不确定我应该用什么方法来解决这个问题。我查看了其他问题,但找不到适合我的解决方案。
泛型参数T
必须被限制为Encodable
并且请使用更快速的代码和throw
潜在的错误
static func toJSON<T : Encodable>(_ data: [T]) throws -> [Any] {
let encoded = try JSONEncoder().encode(data)
return try JSONSerialization.jsonObject(with: encoded) as! [Any]
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句