0

既にインターネットに接続されているアプリケーションを開くたびにアラート ビューが表示されないようにする方法を知りたいだけです。それが役立つ場合、私はARCを使用しています。

これは、AppDelegate 内の didFinishLaunchingWithOptions メソッドにあるコードです。

__weak id myself = self; // to silence warning for retain cycle
_httpClient = [AFHTTPClient clientWithBaseURL:[NSURL URLWithString:@"http://apple.com"]];
    [_httpClient setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        switch (status) {
            case AFNetworkReachabilityStatusNotReachable:
            {
                // Not reachable
                NSLog(@"Not connected to the internet");
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Not connected to the internet" delegate:myself cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil];
                [alert show];

                break;
            }
            case AFNetworkReachabilityStatusReachableViaWiFi:
            {
                NSLog(@"Connected to the internet via WiFi");
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Connected to the internet via WiFi" delegate:myself cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil];
                [alert show];

                break;
            }
            case AFNetworkReachabilityStatusReachableViaWWAN:
            {
                NSLog(@"Connected to the internet via WWAN");
                UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Connected to the internet" delegate:myself cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil];
                [alert show];

                break;
            }
            default:
                break;
        }
    }];
4

3 に答える 3

1

@D80Buckeye のエコー: 到達可能性に関するアラートを表示しないでください。これは完全に不必要であり、ユーザー エクスペリエンスに何も追加しません (ユーザーがそのような到達可能性の欠如を修正するために何かできるわけではありません)。どちらかといえば、ネットワークの到達可能性の非モーダル表示を示すことができます。

于 2013-06-22T22:17:59.973 に答える
0

グローバルフラグを作成するのはどうですか

static BOOL g_FirstTime = YES;

アラートビューを表示する前に確認してください

if (g_FirstTime) {
    g_FirstTime = NO;
    break;
}

NSLog(@"Connected to the internet via WiFi");
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:@"Connected to the internet via WiFi" delegate:myself cancelButtonTitle:nil otherButtonTitles:@"Dismiss", nil];
[alert show];
break;
于 2013-06-23T02:10:12.497 に答える