2017-03-17 62 views
-2

我正在一个iOS应用程序,我有一个SQLite数据库已经创建和填充一些数据。我希望应用能够读取这些数据并将其显示给用户。如何添加现有的sqlite数据库快速和读取数据

我已经通过拖放将数据库文件添加到项目中,但我遇到了一些试图用它来做任何事情的问题。我一直在看FMDB和SQLite.swift包装器的例子,并没有真正取得进展。

我有一个非常基本的示例运行,从硬编码的项目数组中填充tableviewcontroller。下面的代码包含在范围内的UITableViewController:

var items = ["testitem1", "testitem2", "testitem3", "testitem4"] 

override func numberOfSections(in tableView: UITableView) -> Int { 
    return 1 
} 

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    return items.count 
} 

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let cell = tableView.dequeueReusableCell(withIdentifier: "LabelCell", for: indexPath) 

    cell.textLabel?.text = items[indexPath.row] 

    cell.detailTextLabel?.text = "Some extra info" 

    return cell 
} 

这工作,并填充的tableview,但我希望能够从现有的SQLite数据库,我有我的项目加载数据。

如果我甚至可以用数据库中的基本查询结果替换这里的数组,那将是一个开始。

看起来SQLite.swift可能推荐使用FMDB吗?数据库中的数据是一种基本的静态数据,用户不会写信给它,所以也许我应该报废数据库并使用某种XML文件?虽然最有可能会有几千条,所以也许XML文件不是最好的选择。

如果有另一种更简单的方法来实现这一点,并将数据存储,查询和显示给用户,我也对此表示赞同。

感谢

+3

[编辑]你的问题,用您实际上是在有故障代码的发布代码越多越好。如果您的问题是关于从数据库加载数据,那么发布代码并清楚地解释您遇到的问题。 – rmaddy

+0

@irldev Core Data也是一个包装sqlite的包装。 –

+0

看看这个库https://github.com/chamira/SQLiteManager,我想这就是你要找的。这可以让你编写原始的sql –

回答

0

首先,它提供了你所需要的
你需要persistdata。也许你需要searchdata 它是成熟的,单元测试和优化

根据苹果文件

所以它被内置到平台中。 It’s first party tool has integration with xcode很多人都担心第三方依赖。
因此,使用核心数据的一个好办法做到这一点。去年的事情每WWDC苹果引入新的功能有关core data并进行从苹果和核心数据提供相同锅炉板代码长的时间支持objective- c和 很多为迅速

Core Data Programming Guide

+0

谢谢。这可能是一个愚蠢的问题,但使用核心数据你可以只提供数据库中的数据或其他东西?从我一直在看的例子看来,它似乎是一种保存用户输入的数据并再次加载的方法。 – irldev

+0

@irldev检查我的更新部分和这个视频https://www.youtube.com/watch?v=Hv0rzl2sDJU –

+0

@irldev你想通过我提供的链接 –

相关问题