我正在制作一个应用程序,其中我通过以编程方式创建和插入数据来建立与数据库的连接,以将 json 数据存储在 sqlite3 数据库中。所有这一切都很好,但我希望下次如果用户使用这个应用程序,那么应该从数据库而不是网络访问数据。你能建议我这样做的方法吗?我在 ViewDidLoad 方法中建立异步连接,并使用表中行数的 json 数组计数,我通过从数据库中选择所需数据来显示表中的值。我希望即使在他第二次运行应用程序时未建立连接时,用户也应该能够查看数据库中的信息。
最佳答案
有多种方法可以做到这一点。
当您的应用程序从服务器接收数据时,您可以在 NSUserDefaults 中存储一个标志,当应用程序第二次启动时,检查存储在 NSUserDefault 中的标志。如果标志为假,则下载数据或从数据库中获取数据。
如果没有互联网连接,“connection:didFailWithError”委托(delegate)将被自动调用。在“connection:didFailWithError”方法中,再次检查存储在 NSUserDefault 中的标志,如果为真,则显示数据库中的数据,否则给出“无互联网连接”消息。
除了使用 NSURLConnection,您还可以使用 ASIHttp 库“http://allseeing-i.com/ASIHTTPRequest/”
关于ios - iPhone 4 应用程序使用 sqlite 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8197949/