3

MKNetworkKit の使用に切り替えたばかりで、アプリの起動時に MKNetworkEngine オブジェクトを 1 つ作成し、ネット接続が必要なときにいつでもそれを使用するべきか、それとも毎回新しい接続を作成する必要があるかについて混乱していますか?

1つだけ作成してアプリの存続期間全体で使用する必要がある場合、MKNetworkKitがシングルトンを作成すると想定していましたが、そうではないようです(私が見ることはできません)。

一方で、単純な GET リクエストを実行するたびに MKNetworkEngine を割り当て/初期化するのは面倒です。

何かがおかしいので、正しく使用できているのだろうかと思っています。

4

2 に答える 2

1

Etienne678は正しいです。すべてのWebサーバーにエンジンを作成し、そのサーバーに必要なグローバルヘッダー(gzipなど)などをエンジンに設定する必要があります。

操作をキューに入れると、エンジンにこれらのヘッダーが自動的に追加されます。

于 2012-07-26T03:29:39.050 に答える
1

呼び出す予定の Web サービスごとに 1 つのエンジンを作成し、それをアプリ デリゲートの強力なプロパティとして保持します
(facebook = 1 つのエンジン / twitter = 1 つのエンジン / flickr = 1 つのエンジン) 。

クリエーターのムグント・クマは次のように書いています。

MKNetworkEngine は、アプリケーションでネットワーク キューを管理する疑似シングルトン クラスです。これは疑似シングルトンであり、単純なリクエストの場合は MKNetworkEngine メソッドを直接使用する必要があります。より強力なカスタマイズを行うには、サブクラス化する必要があります。すべての MKNetworkEngine サブクラスには、サーバーの到達可能性通知を通知する独自の Reachability オブジェクトがあります。使用する一意の REST サーバーごとに MKNetworkEngine のサブクラスを作成することを検討する必要があります。ある意味では疑似シングルトンであり、サブクラスのいずれかのすべてのリクエストは、1 つのキューだけを通過します。

このブログ記事を参照してください

于 2012-07-16T19:30:50.987 に答える