我使用swift为IOS 9制作应用程序,我的应用程序将包含使用数据库。我在互联网上搜索并设置了一个SqLite数据库,我正在使用Firefox添加一个GUI来查看它。我做了一个Xcode项目,并且有许多教程说我去了我的Build Phases> Link Binary With Libraries并搜索了libsqlite3.0.dylib,但我只发现了libsqlite3.tbd和libsqlite3.0.tbd。我说好了,然后点击了libsqlite3.tbd,希望它不重要,但我陷入了在IOS中使用sqlite的下一步。我不得不
#import <sqlite3.h>
但问题是,当发生这种情况时,我会收到错误。我只需要一步一步的说明如何让我的SqLite数据库开始工作!我在网上找不到任何没有使用IOS 7并在其构建阶段添加libsqlite3.dylib的内容。请帮忙!!
答案 0 :(得分:0)
您可以尝试以下方法:
当展开Link Binary并点击+时,然后点击'Add other',当弹出窗口时按CTRL + Shift + G.在Go to folder字段中输入/ usr / lib - &gt;去吧,你会发现'libsqlite3.dylib'
答案 1 :(得分:0)
为什么不使用诸如https://github.com/groue/GRDB.swift或https://github.com/stephencelis/SQLite.swift之类的Swift SQLite包装?
答案 2 :(得分:0)
如果您想使用Swift,那么这是一个简单的解决方案。
第1步:导入SQLite
import SQLite3
第2步:创建并打开数据库文件
let fileURL = try! FileManager.default.url(for: .documentDirectory, in: .userDomainMask, appropriateFor: nil, create: false)
.appendingPathComponent("YourFileName.sqlite")
if sqlite3_open(fileURL.path, &db) != SQLITE_OK {
print("error opening database")
}
第4步:创建表
if sqlite3_exec(db, "CREATE TABLE IF NOT EXISTS Heroes (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT, powerrank INTEGER)", nil, nil, nil) != SQLITE_OK {
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("error creating table: \(errmsg)")
}
第5步:插入值
var stmt: OpaquePointer?
let queryString = "INSERT INTO Heroes (name, powerrank) VALUES (?,?)"
if sqlite3_prepare(db, queryString, -1, &stmt, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("error preparing insert: \(errmsg)")
return
}
if sqlite3_bind_text(stmt, 1, name, -1, nil) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure binding name: \(errmsg)")
return
}
if sqlite3_bind_int(stmt, 2, (powerRanking! as NSString).intValue) != SQLITE_OK{
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure binding name: \(errmsg)")
return
}
if sqlite3_step(stmt) != SQLITE_DONE {
let errmsg = String(cString: sqlite3_errmsg(db)!)
print("failure inserting hero: \(errmsg)")
return
}
通过执行这些步骤,您可以轻松地在表格中插入一些行。对于其他操作,请阅读这篇精彩的分步指南 - Swift SQLite Tutorial 。