下面的代码在 Xcode 9.2 (Swift 4.0) 中有效,但在 Xcode 9.3 (Swift 4.1) 中出错。
let dict: [String: Any] = [
"status_code": 5,
"status_message": "message"
]
let data = try! JSONEncoder().encode(dict)
// ^ generic parameter 'T' could not be inferred
我试过制作字典[String: Encodable]
,并使用typealias
两种字典类型,结果相同。Swift 不允许您在泛型调用中指定类型,因此会产生编译器错误。这在 Swift 4.1 中应该是什么样子?