请参阅 FMDatabaseQueue如何返回值<{strong>的answer。它说函数只返回函数末尾的值。但我在swift中的代码并没有这样做。这是我的代码:
class func isSomethingRight()-> Bool {
var ret : Bool = false
self.queue.inDatabase({ database in
let sql = NSString(format: "SELECT * FROM Table WHERE tableId = '1001'")
if let resultSet = database.executeQuery(sql, withArgumentsInArray:nil) {
if resultSet.next() {
ret = true
}
}
})
return ret
}
在我的代码中, return ret 首先返回,然后在稍后调用的块(闭包)内返回 ret = true 。我的代码可能有什么问题? (实际上完全相同的代码在我在Swift的另一个项目中工作)。