Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SwiftKuery,resultSet.forEach()的KituraStencil编译问题_Swift - Fatal编程技术网

SwiftKuery,resultSet.forEach()的KituraStencil编译问题

SwiftKuery,resultSet.forEach()的KituraStencil编译问题,swift,Swift,我是swift开发的初学者,无法编译以下代码: import Kitura import KituraStencil import SwiftKuery import SwiftKuerySQLite [...] resultSet.forEach() { row, error in guard let row = row else { guard let _ = error else { // Processed all results

我是swift开发的初学者,无法编译以下代码:

import Kitura
import KituraStencil
import SwiftKuery
import SwiftKuerySQLite
[...]
resultSet.forEach() { row, error in
    guard let row = row else {
        guard let _ = error else {
            // Processed all results
            try response.render("themes.stencil", with: themes, forKey: "themes")
        }
        // Handle error
        return
    }

    /* build 'themes' object */
    [...]
}
[...]
获取此错误: 错误:上下文闭包类型“([Any?]?,error?,()->Void)->Void”需要3个参数,但闭包体中使用了2个参数 resultSet.forEach(){行,错误在

因此,我尝试了以下方法:

import Kitura
import KituraStencil
import SwiftKuery
import SwiftKuerySQLite
[...]
resultSet.forEach() { row, error, dummy in
    guard let row = row else {
        guard let _ = error else {
            // Processed all results
            try response.render("themes.stencil", with: themes, forKey: "themes")
        }
        // Handle error
        return
    }

    /* build 'themes' object */
    [...]
}
[...]
然后我得到这个错误: 错误:上下文闭包类型“([Any?],error?->Void”需要2个参数,但闭包正文中使用了3个参数 resultSet.forEach(){row,error,dummy in

在这两种情况下,如果我将try response.render(“themes.stencil”)替换为:themes,forKey:“themes”)替换为return则没有编译错误


我做错了什么?

最终通过这种方式解决了问题(未处理的异常):


最终以这种方式修复了问题(未处理的异常):

[...]
resultSet.forEach() { row, error, dummy in
    guard let row = row else {
        guard let _ = error else {
            // Processed all results
            do {
                try response.render("themes.stencil", with: themes, forKey: "themes")
            }
            catch { }
        }
        // Handle error
        return
    }

    /* build 'themes' object */
    [...]
}
[...]