2012-07-15 69 views
0

我是iOS編程的新手,最近在內存管理中學到了寶貴的教訓。我解決了我的問題,但我不確定這是否是正確的方法。在代表可以回調之前刪除我的對象

UserFetcher *userFetcher = [[UserFetcher alloc] init]; 
[userFetcher setDelegate: self]; 
[userFetcher fetchData]; 

在此代碼,userFetcher使得使用RestKit到外部服務器REST調用,即UserFetcher包裝RestKit。當Restkit將值返回給userFetcher時,由於userFetcher已被銷燬,所以會引發錯誤。發生這種情況是因爲創建UserFetcher的父方法(上面的代碼)完成執行,我假定ARC處理它。

我通過創建類型爲(強,非原子)的私有屬性UserFetcher來解決此問題。我想知道這是否是解決問題的最佳方法?或者我的設計可以改進。

回答

0

你解決得好。您需要對此對象有強烈的參考。當你確定完成後,「userFetcher = nil;」將釋放它。

相關問題