我有單身人士。我的單身人士擁有UIViewController屬性。當我推一些視圖控制器時,我將推視圖控制器設置爲單例屬性。iOS單身屬性內存泄漏
例如我推乙視圖控制器從A視圖控制器
和內部乙視圖控制器初始化代碼我設置單例的屬性:
初始化代碼內:
Singleton *singleton = [Singleton sharedInstance];
singleton.viewController = self;
此代碼意味着即使當我彈回到前一個控制器A時,實例B永遠不會被破壞,因爲我認爲,似乎我會有內存泄漏。
所以每當我推B控制器時,我會增加內存使用量。
如何解決它。我試過使用弱而不是單身屬性強,但我不知道這是解決方案。
對於我的預期方式 - 就像級聯摧毀。但也許我很困惑,這段代碼不會導致內存泄漏。你怎麼看。
你爲什麼要在一個Singleton中存儲一個VC? (以及爲什麼你使用單身人士?)對我來說這似乎不太好。你想做什麼? – Odrakir
噢,我認爲單身人士是一些很好的解決方案。我也同意你在單身存儲UIViewController這不是一個好主意。但我使用的是谷歌驅動器api和dropbox API,並且想要創建一個通用雲模塊,這將允許我和其他用戶使用任何雲而不需要任何複雜的步驟。所以這些API驅動和框使用視圖控制器實例來呈現登錄視圖。而對於通用變體,我需要訪問將呈現此登錄表單的視圖控制器。所以在任何情況下,問題都是關於泄漏,似乎我們有答案,謝謝! –