gpt4 book ai didi

ios - FMResultSet 在另一个 ViewController 中返回 nil

转载 作者:行者123 更新时间:2023-11-28 09:12:50 25 4
gpt4 key购买 nike

我正在为我的数据库使用 FMDB 包装器。我可以使用 FMResultSet 获取数据,但是当我试图将 FMResultSet 返回给另一个 ViewController 时,它返回 nil。我从这里调用我的数据库

var resultSet: FMResultSet! = db.getUserById(1)
if(resultSet != nil) {
self.setUserInfo(resultSet)
}

这是我的数据库编码部分

func getUserById(userId: Int) -> FMResultSet {

let sharedInstance = DatabaseHandler()
var database: FMDatabase? = nil
var resultSet: FMResultSet! = sharedInstance.database!.executeQuery("SELECT * FROM user_info WHERE user_id = ?", withArgumentsInArray: [userId])

if(resultSet != nil) {
while resultSet.next() {
var name: String = "USER_NAME"
var location = "USER_LOCATION"
println("Name: \(resultSet.stringForColumn(name))")
println("Location: \(resultSet.stringForColumn(location))")
}
}

sharedInstance.database!.close()
return resultSet
}

当我打印这些值时,它在控制台中显示这些值,但是当我返回结果集时,它似乎为零

我到底做了什么?

最佳答案

您的结果集仅在数据库打开时有效。返回 resultSet 以外的东西(即包装器对象/字典/其他)。通常,您迭代 resultSet 并提取您需要的内容并使用它。或者,您将 resultSet 交给调用者, 调用 .next 并在完成后将其关闭。

关于ios - FMResultSet 在另一个 ViewController 中返回 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28602091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com