我最近在這裏和其他網站上看到很多關於IBOutlets應該強還是弱的問題。官方的裁決是,他們應該是弱的,除了當他們參考頂級xib對象時。IBOutlets強大還是弱點 - 它實際上是否影響內存管理? (ARC)
這很好。
但是我還沒有清楚地理解,爲什麼設置它們強或弱實際上會在應用程序的內存管理方面產生差異。特別是從iOS6開始,viewDidUnload在接收到內存警告時不會被調用,所以從這個意義上說,IBOutlets的弱或者強選擇沒有任何區別。
我是否認爲視圖控制器不再位於導航棧上(即在它們被加載然後彈出之後),那麼任何聲明爲弱的IBOutlets都會被釋放?
感謝您的任何見解!
,你保持出口'weak'如果他們有一個靜態的'superview'已經(即保持視圖活着,直到他們認爲層次結構的一部分,它不會引起強烈的保留週期),並且如果有任何視圖添加到/從任何'view'中移除,'strong'引用更好地確保視圖保持活動狀態,直到您最終想要釋放視圖。 – holex