0
我有這樣的功能的結構:泛型返回問類型
func someFunction<T: Codable>(x: Double, y: Double, outputClass: T, completionBlock: CompletionBlock)
的completionblock是:
enum Result {
case success(Codable)
case failure(String?)
}
typealias CompletionBlock = (Result) -> Void
我想實現的是,當你調用函數例如像這樣:
someFunction(x: 12, y: 12, outputClass: Foo.self) { (result) in
switch result {
case .success(let result):
}
我讓成功案例的結果是類型Foo。
我有一個Foo結構:
struct Foo: Codable {
let content: String
}
現在,當我嘗試調用函數的Xcode告訴我:
Argument type 'Foo.Type' does not conform to expected type 'Encodable'
但結構符合類型可編碼的,這是可編碼&解碼。
有人可以解釋我做錯了什麼嗎?
您傳遞的是Type的實例,而不是符合'Codable'的對象的實例。 – Paulw11