我的问题是此代码在项目开始时给出参数 #1 缺少参数的错误:
class ViewController: UIViewController {
@IBOutlet var lineFields: [UITextField]!
var database: COpaquePointer = nil
var result = sqlite3_open(dataFilePath(), &database)
if result == SQLITE3_OK {
sqlite3_close(database)
println("Failed to open connection")
return
}
func dataFilePath() -> String {
let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
let documentDirectory = paths[0] as NSString
return documentDirectory.stringByAppendingPathComponent("data.sqlite") as String
}
var 结果就是错误所在,谁能告诉我为什么。我已经添加了 libsqlite3.dylib 并创建了所需的桥,有什么帮助吗?谢谢。
最佳答案
正如我在评论中提到的,sqlite3_open 采用 cString 而不是 String
你需要把你的电话改成这样:
var result = sqlite3_open((dataFilePath() as NSString).UTF8String, &database)
关于打开时出现 Swift 和 Sqlite3 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27640927/