0

EXC_BAD_ACCESSの次の行で、ネットワークステータスがネットワークなしからネットワークに、またはその逆に変わるたびに、アプリがクラッシュします。

    dispatch_async(dispatch_get_main_queue(), ^{
        [[NSNotificationCenter defaultCenter] postNotificationName:kReachabilityChangedNotification 
                                                            object:self];
    });

以下を使用してアプリデリゲートを介して呼び出しています:

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil];

    internetReach = [Reachability reachabilityForInternetConnection];
    [internetReach startNotifier];
    [self checkNetworkStatus:nil];

-(void) checkNetworkStatus:(NSNotification *)notice
{
    // called after network status changes
    NetworkStatus internetStatus = [internetReach currentReachabilityStatus];
    switch (internetStatus)
    {
        case NotReachable:
        {
            NSLog(@"The internet is down.");
            break;
        }
        case ReachableViaWiFi:
        {
            NSLog(@"The internet is working via WIFI.");
            break;
        }
        case ReachableViaWWAN:
        {
            NSLog(@"The internet is working via WWAN.");
            break;
        }
    }

}

誰もがこれを修正する方法を知っていますか?

4

1 に答える 1

0

これはあなたを助けるかもしれません:到達可能性クラスがプログラムをクラッシュさせる-理由がわからない

作成されたスレッドとは異なるスレッドでReachabilityオブジェクトの割り当てを解除する際に問題が発生しました。メインキューに到達可能性を割り当てているようですが、そこにも割り当てを解除していますか?

于 2013-03-22T03:19:11.163 に答える