ios - iPhone 4 应用程序使用 sqlite 数据库

标签 ios xcode json ipad sqlite

我正在制作一个应用程序,其中我通过以编程方式创建和插入数据来建立与数据库的连接,以将 json 数据存储在 sqlite3 数据库中。所有这一切都很好,但我希望下次如果用户使用这个应用程序,那么应该从数据库而不是网络访问数据。你能建议我这样做的方法吗?我在 ViewDidLoad 方法中建立异步连接,并使用表中行数的 json 数组计数,我通过从数据库中选择所需数据来显示表中的值。我希望即使在他第二次运行应用程序时未建立连接时,用户也应该能够查看数据库中的信息。

最佳答案

有多种方法可以做到这一点。

  1. 当您的应用程序从服务器接收数据时,您可以在 NSUserDefaults 中存储一个标志,当应用程序第二次启动时,检查存储在 NSUserDefault 中的标志。如果标志为假,则下载数据或从数据库中获取数据。

  2. 如果没有互联网连接,“connection:didFailWithError”委托(delegate)将被自动调用。在“connection:didFailWithError”方法中,再次检查存储在 NSUserDefault 中的标志,如果为真,则显示数据库中的数据,否则给出“无互联网连接”消息。

除了使用 NSURLConnection,您还可以使用 ASIHttp 库“http://allseeing-i.com/ASIHTTPRequest/”

关于ios - iPhone 4 应用程序使用 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197949/

相关文章:

ios - 执行选择器可能会因为select未知而导致泄漏?

c# - 根据 JSON Schema 从 JSON 对象中删除特定属性

iphone - GKTurnBasedMatch 推送通知非常不一致

ios - 以自动布局为中心的 UIView 无法正常工作

ios - 在包含 UIDatePicker 的 View 上拍摄快照

android - 使用 Retrofit 获取 Json 数组

json - 将文件保存到 Blob 存储

iphone - UIScrollView 的 contentOffset

c# - 如何将应用程序从 xcode 部署到设备

iphone - 以编程方式将 uilabel 添加到 xib 的 View Controller 会导致 'No Visible @Interface' 错误