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