1

複数のホストに接続する必要があるアプリを実行しています。もともと私は Apple の Reachability クラスを含めず、同期的に自分でそれを行っただけでしたが、それは悪い考えであることがわかったので、実際には Apple が警告している問題を見てきました。だから今、私はそれを非同期で行うつもりです。

問題は、複数のホストがあることにあります。バージョン 2.0 のリリース ノートには、次のように記載されています。

- 完全に非同期になるように Reachability オブジェクトを書き直し、複数の SCNetworkReachabilityRef の監視を簡素化しました。

私の質問は、彼らが何をしたか、そして私が利用する最善の方法は何ですか? グーグルで調べてみると、Reachability クラスはもはやシングルトンではなく、追跡するホストごとに Reachability の新しいインスタンスを作成する必要があると思います。これは正しいです?

4

1 に答える 1

3

はい、正解です。サンプル コードの AppDelegate は次のとおりです。

http://developer.apple.com/iPhone/library/samplecode/Reachability/listing4.html

いくつかのインスタンスを使用しています。重要なのは、到達可能性の変更についてサブスクライブする通知に、ステータスが変更された到達可能性のインスタンスであるオブジェクトが含まれていることです。そのため、特定のホストに到達できない場合、その到達可能性オブジェクトは通知。これは、この返されたオブジェクトと比較する (必要に応じて後で解放する) ために、到達可能性インスタンスをどこかに追跡する必要があることを意味します。

于 2009-11-16T20:22:32.830 に答える