问题描述
我对编程很新。我正在使用Xcode 6和swift来构建iOS 8应用程序。我的应用程序有很多数据,我使用firefox添加组织成sqlite3文件。我已将这些文件放入我的项目文件夹中。他们的扩展名是.sql现在我需要在我的应用程序中访问该数据。我已经通过在构建阶段选项卡中添加libsqlite3.dylib来链接sqlite3库。现在我想写代码来访问数据库。我已经使用objective-c在iOS 7及更早版本的代码和示例中在线发现了大量信息,但iOS 8和swift没有。如果有人可以帮助我或带领我朝着正确的方向前进,我将不胜感激。谢谢。
i'm fairly new to programming. I am working with Xcode 6 and swift to build an iOS 8 app. my app has quite lot of data which i have organised into sqlite3 files using the firefox add on. i have dropped these files into my project folder. their extension is .sql now i need to access that data in my app. i have already linked the sqlite3 library by adding libsqlite3.dylib in the build phases tab. now i want to write the code to access the database. i have found a lot of information online with code and examples from iOS 7 and earlier using objective-c but nothing with iOS 8 and swift. if anybody can help me or lead me in the right direction i would be grateful. thanks.
推荐答案
你可以使用sqlite.swift框架来实现与swift
的数据库连接这里是链接
you can use sqlite.swift framework to implement database connection with swifthere is link https://github.com/stephencelis/SQLite.swift/blob/master/Documentation/Index.md
以下是连接sqlite数据库的示例
Here is example to connect sqlite database
var db : Database!
var cat = Expression<String>("ZCATEGORY")
var name = Expression<String>("ZNAME")
var user : Query!
var stmt : Query!
var data : Array<Row>!
@IBOutlet var tabe: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
createdb()
}
internal func createdb()
{
// bundle database within your app
let path = NSBundle.mainBundle().pathForResource("db", ofType: "sqlite")
println(path)
db = Database(path, readonly: true)
// ZFOOD is table name
user = db["ZFOOD"]
println(db)
// select distinct(cat) from ZFOOD
stmt = user.select(distinct : cat)
// Stored query result in array
data = Array(stmt)
}
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return 1
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return data.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell: AnyObject = tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath)
cell.textLabel.text = data[indexPath.row][cat]
return cell as UITableViewCell
}
我希望这对你有帮助
这篇关于使用sqlite3数据库与ios8应用程序使用Xcode 6和swift的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!