2011-07-29 55 views
0

property "assign" and "retain" for delegate委託財產分配問題,RestKit RKRequest

我知道使用「分配」是好,但我在使用保持較好的情況下。

我通過創建RKRequest對象來調用Web服務。

RKRequest *request = [[RKClient sharedClient] get:urlString delegate:self]; 

請求對象本身被保留,並通過單請求隊列管理,所以我不關心請求對象,我關切只委託方法。

有處理請求結果的方法。


這些代碼位於UIViewController中,而視圖控制器本身就是委託。

如果視圖控制器在請求正在處理期間變爲dealloc,則RKRequest調用已經是死的指針和程序崩潰的委託。

所以我必須保留RKRequest並且在視圖控制器是dealloc時將nil分配給委託。此外,當請求成功或失敗時,我必須釋放RKRequest。


但我不認爲如果RKRequest具有委託指針作爲'retain'指針,我該如何管理這些對象BEAUTIFULLY?

回答

4

所有這一切需要的是下面的調用添加到您的控制器(RKRequestDelegate)dealloc方法:

[[RKRequestQueue sharedQueue] cancelRequestsWithDelegate:self]; 
+0

啊,我驚呆了!非常感謝你! – moon6pence