Swift: 无法推断通用参数 'T'
Swift: Generic parameter 'T' could not be inferred
我有一个应用程序的 git 存储库,该应用程序一直在正常工作并且可以在 iTunes 上使用。我最近想对其添加一些更新并将项目导入 xCode 10。当我尝试构建解决方案时,出现错误 "Generic parameter 'T' could not be inferred"
我已尝试更新所有正在使用的 pods。
这是有错误的代码
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
,请使用 swiftier 代码和 throw
潜在错误
static func toJSON<T : Encodable>(_ data: [T]) throws -> [Any] {
let encoded = try JSONEncoder().encode(data)
return try JSONSerialization.jsonObject(with: encoded) as! [Any]
}
我有一个应用程序的 git 存储库,该应用程序一直在正常工作并且可以在 iTunes 上使用。我最近想对其添加一些更新并将项目导入 xCode 10。当我尝试构建解决方案时,出现错误 "Generic parameter 'T' could not be inferred"
我已尝试更新所有正在使用的 pods。
这是有错误的代码
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
,请使用 swiftier 代码和 throw
潜在错误
static func toJSON<T : Encodable>(_ data: [T]) throws -> [Any] {
let encoded = try JSONEncoder().encode(data)
return try JSONSerialization.jsonObject(with: encoded) as! [Any]
}