在从服务器加载用于tableview的Plist之前检查Internet

时间:2012-02-28 09:33:27

标签: iphone nsurlconnection nsurlrequest

我正在使用带有导航控制器的Storyboard和prepareforsegue。 我有两个UITableViews。如果单击第一个表中的行,则转到第二个表。 第二个表从plist中选取数据,具体取决于您在第一个表中单击的行。只要有互联网连接,这种方法就可以正常工作。如果没有互联网连接,它会崩溃。

现在我想在加载第二个表之前检查是否存在互联网连接。如果没有互联网连接,我想显示UIAlertView。

我想用NSURLConnection做这个,但我不知道在哪里实现代码。 我会把它放在prepareforsegue的第一张表的.m或第二张表的.m中吗?

感谢。

1 个答案:

答案 0 :(得分:4)

您应该使用Apple撰写的可达性代码。

Please Go Through This Link For Downloading the Reachability Files.

使用该代码您需要导入SystemConfiguration Framework。

Follow As Target-> BuildPhase-> LinkBinaryWithLibraries->点击“+” - >选择SystemConfiguration。

然后在ViewController中导入#import“Reachability.h”标题。

然后在导航到另一个视图之前写下几行代码

Reachability *reach = [Reachability reachabilityForInternetConnection]; 
NetworkStatus netStatus = [reach currentReachabilityStatus];    
if (netStatus == NotReachable) {        
    NSLog(@"No internet connection!");
    UIAlertView *information = [[UIAlertView alloc] initWithTitle:@"Server Connection is not available" message:nil  delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [information show];
    [information release];


} 
else {        
//Write your logic here Like As navigating to anotherview       
}