如何在多个文件中实现Network Reachebility状态?

时间:2011-06-03 08:54:27

标签: iphone ios4

我正在使用可读性类来检查网络可用性,它可以与this code一起使用。但在我的应用程序中,我有大约25个需要检查网络的视图。我需要知道我是否必须在每个文件中编写代码片段?或者有没有办法写一次?

在代码中,我必须实现3种方法来检查网络状态。

任何好的建议?

谢谢...

3 个答案:

答案 0 :(得分:4)

您可以使用this sample应用程序来满足您的要求。由APPLE提供。

在此,他们将其保留在Application Delegate下,以供所有课程使用。

希望它有所帮助。

答案 1 :(得分:1)

这里,导入应用程序委托文件中的标题。

在applicationDidFinishLaunching中添加  [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

这意味着每次更改可达性时都会通知appDelegate。你需要实现以下内容:

添加

- (void)reachabilityChanged:(NSNotification *)note {

Reachability* curReach = [note object];
NSParameterAssert([curReach isKindOfClass: [Reachability class]]);
NetworkStatus netStatus = [curReach currentReachabilityStatus];

if(curReach == hostReach)
{
    if (netStatus == NotReachable)
    {
        //no conn

    }


    else if (netStatus !=NotReachable)
    {

        //has conn
    }

}

}

这只是一个概述,你不会只是通过复制和粘贴来学习,可达性课程可以为你提供你想要知道的一切,甚至是连接类型...所以继续玩。

答案 2 :(得分:0)

在Reachability类中创建一个静态方法,如

-(BOOL)isInternetReachable{
//your code to check the internet connectivity
// return yes or no
}

您可以像

一样使用
if([Reachability isInternetReachable])
{
///// do ur stuff
}
else{
////show some error message
}