小编wal*_*ine的帖子

Swift 3.0错误:转义闭包只能通过值显式捕获inout参数

我正在尝试将我的项目更新为Swift 3.0,但我遇到了一些困难.我得到了下一个错误:"转义闭包只能通过值明确捕获inout参数".

问题出在这个函数里面:

fileprivate func collectAllAvailable(_ storage: inout [T], nextUrl: String, completion: @escaping CollectAllAvailableCompletion) {
    if let client = self.client {
        let _ : T? = client.collectionItems(nextUrl) {

            (resultCollection, error) -> Void in

            guard error == nil else {
                completion(nil, error)
                return
            }

            guard let resultCollection = resultCollection, let results = resultCollection.results else {
                completion(nil, NSError.unhandledError(ResultCollection.self))
                return
            }

            storage += results // Error: Escaping closures can only capture inout parameters explicitly by value

            if let nextUrlItr = resultCollection.links?.url(self.nextResourse) {

                self.collectAllAvailable(&storage, …
Run Code Online (Sandbox Code Playgroud)

ios swift swift3

33
推荐指数
3
解决办法
2万
查看次数

标签 统计

ios ×1

swift ×1

swift3 ×1