2012-03-16 14 views
0

私のプロジェクトではReachability APIを使用しています。私は
Reachability API Documentationで与えられたコード例に従った。私のアプリの委任でkNetworkReachabilityChanged Reachability APIの通知

このkNetworkReachabilityChangedNotificationが掲載されている場合、私は

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 

    // Observe the kNetworkReachabilityChangedNotification. When that notification is posted, the 
    // method "reachabilityChanged" will be called. 
    [[NSNotificationCenter defaultCenter] addObserver: self selector: @selector(reachabilityChanged:) name: kReachabilityChangedNotification object: nil]; 

    hostReach = [[Reachability reachabilityWithHostName: NSLocalizedString(@"SERVICE_HOST_URL", nil)] retain]; 
    [hostReach startNotifier]; 
    [self updateReachabilityStatus:hostReach]; 

    self.rootViewController = [[SearchRootViewController alloc] initWithNibName:@"SearchRootView" bundle:nil]; 
    self.detailViewController = [[SearchDetailViewController alloc] initWithNibName:@"SearchView" bundle:nil]; 

    UINavigationController *rootViewNavigationController = [[UINavigationController alloc] initWithRootViewController:self.rootViewController]; 
    UINavigationController *detailViewnavigationController = [[UINavigationController alloc] initWithRootViewController:self.detailViewController]; 

    self.splitViewController = [[UISplitViewController alloc] init]; 
    self.splitViewController.viewControllers = [NSArray arrayWithObjects:rootViewNavigationController, detailViewnavigationController, nil]; 

    [rootViewNavigationController release]; 
    [detailViewnavigationController release]; 

    self.splitViewController.delegate = self.detailViewController; 

    [self.detailViewController setLeftViewController:self.rootViewController]; 

    [self.window addSubview:[self.splitViewController view]]; 
    [self.window makeKeyAndVisible]; 
    return YES; 
} 

、従うようapplicationDidFinishLaunchingメソッドを実装しています?私は、detailViewControllerのビューが現れるまで投稿されていないことに気付きました。

しかし、私はビューが表示される前にネットワークの状態を知りたいと思っています。だから、それが可能かどうかを知るためにあなたの助けが必要ですか?はいの場合は、どのように?

それは接続が使用可能なものネットワークを決定するためにいくつかの時間がかかることが

答えて

2

ありがとう:あなたは、通知の生成を開始するために到達可能性を求めているが、その後すぐに、あなたのビューコントローラを表示する...そしてあなたも、あなたのビューを作成していますコントローラの後に到達可能性の通知を開始するので、の前に通知が送信される可能性があります。あなたのView Controllerがインスタンス化される前です。

より良いアプローチは、ネットワークの状態を確立しようとしている間に使用できる保持ビューを持つことです。