2012-07-15 28 views
3

當我剛切換到使用MKNetworkKit,我很困惑我是否應該在應用程序啓動創建一個MKNetworkEngine對象和使用,每當我想要的網絡連接,或者我應該創建一個新的每一次?一個MKNetworkEngine對象使用MKNetworkKit

如果我需要創建一個並在應用程序的整個生命週期中使用它,我會假定MKNetworkKit會創建一個單例,但它似乎並不(我看不到)。

在另一方面,它似乎麻煩分配/初始化MKNetworkEngine每次我想做一個簡單的GET請求。

有些東西似乎不對勁,所以我不知道它我正確地使用它。

回答

1

Etienne678是正確的。您應該爲每個Web服務器創建一個引擎,並在引擎上設置該服務器所需的全局標頭(如gzip)和其他標頭。

當排隊的操作時,向發動機這些標頭被自動附加。

1

創建爲每個你打算調用,並保持它作爲應用程序委託強大的屬性webservice的一個引擎
(臉譜=一臺發動機/嘰嘰喳喳=一臺發動機/ Flickr的=一個發動機)

的創建者Mugunth Kuma寫道:

MKNetworkEngine是一個僞單例類,它管理應用程序中的網絡隊列。這是一個僞單身,從某種意義上說,對於簡單的請求,您應該直接使用MKNetworkEngine方法。要獲得更強大的自定義功能,您應該對其進行子類化。每個MKNetworkEngine子類都有自己的Reachability對象,通知它服務器可達性通知。您應該考慮爲您使用的每個獨特的REST服務器創建一個MKNetworkEngine的子類。在某種意義上它是僞單身,它的任何一個子類中的每一個請求都只經過一個單一的隊列。

see this blog article