2010-10-08 105 views
0

我是如何去和这样做有点困惑....无Internet连接

在我的应用程序的每一页我连接到PHP文件中的数据从我的服务器拖动。我有大约10页。现在,如果没有连接到互联网,那么当然现在可以接收数据。

通常应用程序崩溃,我们把它放在没有数据,因为连接或wifi的变化。

现在我已经设置了可达性的东西,这工作,但我不知道如何链接这与PHP调用。我应该检查可达性,如果没有连接,那么不运行电话。如果是这样,那么所有的变量呢,它们仍然是空的并导致错误呢?

我真的不知道什么是最好的解决方案。

希望你能帮助 亚历

回答

0

是PHP调用只是从数据库中接收数据,而使用DB框架内置诸如SQLite的?如果是这样,我首先采用了相同的路线以避免头痛,但在您的应用中运行SQLite是一个更好的解决方案,并减少了多种依赖关系(如Internet连接)。

现在,如果PHP通话,让您的数据备份是从另一个源接收此信息,然后喂养它变成自己的DB .....

Should i check the reachability and if no connection then dont run the call 

是的,你应该。这已经在多个应用中完成了。在这种情况下,哪些变量为空?将调用的代码放入此检查下面的“if”块中,并且只有在true时才运行它。处理可能为空的其他变量时出错,因为php调用不设置它们取决于您。你可以做到这一点是多种方式。

0

您应该一定要缓存数据,以便应用程序不必连接到互联网来显示某些内容,除此之外我会确保使用异步请求和NSURLRequest的超时功能来控制您请求数据的尝试在背景中。如果您没有获取数据,请继续使用您缓存的内容。