Как реализовать статус сетевой Reachebility в нескольких файлах? - PullRequest
0 голосов
/ 03 июня 2011

Я использую класс читаемости для проверки доступности сети, и он отлично работает с этим кодом .Но в моем приложении у меня есть около 25 просмотров, которые должны проверить сеть.Мне нужно знать, что я должен написать кусочки кода в каждом файле?или есть ли способ написать это один раз?

В коде есть 3 метода, которые я должен реализовать для проверки состояния сети.

есть ли хорошие предложения?

Спасибо ...

Ответы [ 3 ]

4 голосов
/ 03 июня 2011

Вы можете использовать этот образец приложения по вашему требованию. Предоставлено APPLE.

При этом они хранят его в Application Delegate, чтобы он был доступен для всех классов.

Надеюсь, это поможет.

1 голос
/ 03 июня 2011

здесь, импортируйте заголовок в файл делегата приложения.

в applicationDidFinishLaunching add [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil];

это означает, что appDelegate будет информироваться при каждом изменении достижимости.вам необходимо реализовать следующее:

add

- (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
    }

}

}

этопросто обзор, и вы не будете учиться, просто копируя и вставляя правильно, класс достижимости может дать вам все, что вы хотите знать, даже в зависимости от типа соединения ... так что продолжайте играть.

0 голосов
/ 03 июня 2011

Создайте статический метод в классе 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
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...