开发者

No Internet Connection

开发者 https://www.devze.com 2023-01-19 10:17 出处:网络
I am a little confused on how to go about and do this.... On each page of my app i connec开发者_运维百科t to PHP file to drag in data from my server. I have about 10 pages. Now if there is no connect

I am a little confused on how to go about and do this....

On each page of my app i connec开发者_运维百科t to PHP file to drag in data from my server. I have about 10 pages. Now if there is no connection to the internet then of course now data can be received.

Often the app crashes and we are putting this down to not having the data due to a change in connection or wifi whatever.

Now i have setup the reachability thing and that works, but i dont know how to link this in with the PHP calls. Should i check the reachability and if no connection then dont run the call. If so, what about all the variables, they will still be null and cause an error then?

I dont really know what is the best solution.

Hope you can help Alex


Are the php calls just to receive data from a database without using a built in DB framework such as SQLite? If so, I went the same route to avoid the headache at first, but running SQLite in your app is a better solution overall, and reduces multiple dependencies (such as internet connection).

Now if the php calls that give you data back are receiving this information from yet another source and then feeding it into its own DB.....

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

Yes you should. This is done in multiple apps already. What variables would be null in this case? Pop the code that makes the call in an "if" block below this check, and only run it if true. Error handling other variables that might be null because the php call isn't setting them is up to you. You can do this is multiple ways.


You should certainly cache the data so the App doesn't HAVE to connect to the internet to display something, other than that I would make sure to use asynchronous requests and the timeout feature of NSURLRequest to control your attempts to request data in the background. If you don't get the data, just keep using what you have cached.

0

精彩评论

暂无评论...
验证码 换一张
取 消