我在處理我的應用程序時遇到了一個有趣的問題。想象一個如果委託不存在,會發生什麼情況?
- 存在着一個對象之情況,讓我們把它叫做A.
- A,然後創建一些代表團基於類的一個對象(B),說NSURLConnection的。
- 如果A已經實現了所有必需的委託方法,A就被指定爲B的委託。
- A要求B開始處理。在我們的例子中,即從某個服務器獲取數據。
- 只要乙完成獲取數據時,它將調用A.
的一些指定的方法在最後的步驟中,假設而調用的方法中,B發現目的犯規存在了。那麼會發生什麼?
我不確定,但會導致崩潰?
如果是,那麼請告訴我如何避免這種情況。
在我的情況下,我將viewcontroller分配給某個對象的代理,比方說viewDidLoad
方法中的X.在X調用viewcontroller中定義的委託方法之前,有些情況下viewcontroller會被銷燬。
- 如果將X的委託分配給nil解決了問題。然後 我應該這樣做。
總之,該方法而在其裝載階段卸載視圖控制器同樣 viewDidLoad
的相位只調用一次。
請注意,NSURLConnection *會保留它的委託。 – Guillaume
@Guillaume是的,你是對的。關於保留代表的全部內容。如果我們將委託設置爲零,那麼更好。 – harshitgupta
和是否definitelty它會導致崩潰。 – harshitgupta