小编zua*_*aef的帖子

如何修复逃逸闭包?错误是:转换非转义值可能会使其转义

这是我的代码:

class Main {
    init() {
        let x = Sub(s: foo)
    }

    func foo(completion: @escaping (String?)->Void) {
        DispatchQueue.global().async {
            completion(nil)
        }
    }
}

class Sub {
    var s: ((String?)->Void)->Void
    init(s: @escaping ((String?)->Void)->Void) {
        self.s = s
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里收到错误let x = Sub(s: foo)

将非转义值转换为 '(String?) -> Void' 可能会允许它转义`

我已经添加了 XCode 提示我添加的所有转义符,但错误仍然存​​在。我需要做什么来解决这个问题?

swift

2
推荐指数
1
解决办法
947
查看次数

标签 统计

swift ×1