ASIHttpRequest が Reachability を利用していたので、存在は知っていたが ARC 版が無くて困ったので、メモ。
Reachability の ARC 対応版を公開している人がいるみたい。
あと、Reachability で通信状態を取得するという使い方は知っていたが、通信状態が変化した際にコールバックさせることもできるみたいなので、メモしておく。
何だかんだで、自分でも ARC のコード書くようになっちゃったなぁ~。あと、blocks とかも見なくちゃいけなしぃ~。GCD とかも見てる。私は特に必要がなければ、 NSOperation がいいなぁ~。(^^)
・参考サイト: TORQUES LABS Reachability:iOSでネット接続を確認する公式ライブラリ
・ソース公開: Reachability (iOS) ARCified — Gist
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | // 通信状態が変化した際に通知されるように設定する - (void)reachabilityStart { curReachability_ = [Reachability reachabilityForInternetConnection]; [curReachability_ startNotifier]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(reachabilityChanged:) name:kReachabilityChangedNotification object:nil]; } - (void)reachabilityStop { [curReachability_ stopNotifier]; [[NSNotificationCenter defaultCenter] removeObserver:self name:@"kReachabilityChangedNotification" object:nil]; } // ネットワーク接続の状態が変化した際の処理 - (void)reachabilityChanged:(NSNotification*)note { Reachability* curReach = [note object]; NSParameterAssert([curReach isKindOfClass: [Reachability class]]); NetworkStatus netStatus = [curReach currentReachabilityStatus]; if (netStatus != NotReachable) { // 通信が再確保された際の処理 } } |