Swift 4.0解码器错误,具有关闭属性



我正在尝试使用SWIFT 4.0代码协议序列化对象。试图解码闭合属性时,我会遇到错误:

guard let influenceFunction = try? container.decode(((E, Double) -> (E))!.self, forKey: TransformCodingKeys.influenceFunction) else {
    // ... do something clever ...
    print("sad times...")
}
Cannot invoke 'decode' with an argument list of type '(((E, Double) -> (E))!.Type, forKey: TransformCodingKeys)'

我想足够可理解的,但是当然必须有一些我可以使用的策略(毕竟,功能是一流的对象,对吗?)。我必须以某种方式包裹我的关闭吗?

您可以使用技巧来解决:

typealias YourCompletion = (_ status: Bool) -> Void
class Completion: Codable {
    var completion: YourCompletion?
    private enum CodingKeys: CodingKey {}
}

相关内容

  • 没有找到相关文章

最新更新