我有兩個視圖控制器(vcA和vcB),vcA它是vcB的父對象(我通過addChildViewController在vcA上添加了vcB),在兩個控制器中,我有一個強對象聲明的對象。在介紹vcB之前,我先說一下vcB.myobject = self.myobject,是否會導致這個保留週期? 從vcB的對象使用弱參數更好?這是一個保留週期(財產)?
0
A
回答
2
如果對象具有對視圖控制器之一的強引用,則會導致保留週期。如果對象沒有強烈的引用到任何視圖控制器,那麼它不會導致保留週期。
+0
擊敗了我。只要self.myObject沒有強大的視圖控制器引用,就沒問題。 – Mike
+0
@rob mayoff謝謝,我現在更瞭解這個概念。 –
2
這不是一個保留週期。它只是兩個對象(vcA和vcB),對第三個對象有強烈的引用(myObject
)。這是正常的和正確的。每個將對第三個對象執行適當的內存管理,並且不會泄漏。
+0
這是我第一次想到但我想確定,謝謝 –
相關問題
- 1. 這是一個保留週期嗎?
- 2. 這是否會導致保留週期?
- 3. 保留週期,弱房地產
- 4. 保留/ autoreleasing一個已保留的財產的附加好處是什麼?
- 5. 財產沒有保留與例
- 6. 的iOS CLLocation財產不保留值
- 7. 在DTO保留財產案例
- 8. 在複製財產保留計數
- 9. - (空)dealloc的財產(非原子,保留)
- 10. 釋放保留的財產在self.view
- 11. 公衆閱讀,「私人」保留財產
- 12. 會導致保留週期
- 13. 遞歸塊保留週期
- 14. ARC,塊和保留週期
- 15. 保留週期:「Parent-Child」
- 16. 通過AFNetworking保留週期
- 17. 保留週期關注
- 18. Cocos2d代表保留週期
- 19. 代表並保留週期?
- 20. iOS ARC塊保留週期
- 21. 在ARC中保留週期
- 22. 塊,自我,保留週期
- 23. 會有保留週期嗎?
- 24. 這是如何防止塊保留週期?
- 25. 產生下一個週期
- 26. 保留使用(保留)財產時的行爲
- 27. 沒有保留週期,但爲什麼仍然有保留週期警告?
- 28. initSql財產和DriverManagerDataSource這個
- 29. 這個轉換是如何保留邏輯單週期數據通路的?
- 30. 兩個弱變量可以創建一個保留週期嗎?
有一件事要補充 - 這實際上很容易測試。我用一個快速啓發來確定一個保留週期是否存在(可能不完美,所以你的里程可能會有所不同),但只需將NSLog放入你的視圖控制器的'dealloc'方法中,並且當你關閉視圖控制器時,如果有一個保留週期它將不會被調用。 – Mike
@Mike我測試了你是如何定義的以及它的調用方法,謝謝 –