2015-02-07 53 views

回答

1

不,它不是一個內存泄漏,因爲VC尚未在此範圍內創建的,所以你不應該管理它在它的保留計數。

但是你的代碼揭示了另一個問題:一定要在主線程上執行每一個UI修改,否則你會遇到隨機崩潰。

編輯問及更多的細節:

每一個UI的行動應該在應用程序的主線程中進行。 在Cocoa touch中,您的應用程序已附加到主線程。 應用程序的主事件循環接收UI事件。 使用另一個線程(後臺線程)來改變任何圖形是一個壞主意,因爲UIKit不是線程安全的。

我的猜測是,afHttpManager做它在另一個線程工作,以避免凍結應用程序的UI,因此任何代碼執行的是相同的線程比你afHttpManager上。

+0

謝謝,你能解釋一下UI修改,以及爲什麼隨機崩潰?或者如果應用程序失去焦點到另一個應用程序,這可能會崩潰,然後AFNetworking嘗試調用視圖?有什麼更好的方法來避免它? – 2015-02-07 16:18:14

+0

@ user61152我編輯了我的答案以添加更多詳細信息 – TheSquad 2015-02-07 16:26:35

+0

根據以下答案,成功塊在主隊列上運行,看起來似乎安全嗎? http://stackoverflow.com/questions/17225193/are-afnetworking-success-failure-blocks-invoked-on-the-main-thread – 2015-02-07 16:42:02

相關問題