我有两个视图控制器(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. 保留/ autoreleasing一个已保留的财产的附加好处是什么?
- 4. - (空)dealloc的财产(非原子,保留)
- 5. 公众阅读,“私人”保留财产
- 6. 在复制财产保留计数
- 7. 在DTO保留财产案例
- 8. 保留周期:“Parent-Child”
- 9. Cocos2d代表保留周期
- 10. 代表并保留周期?
- 11. 保留周期关注
- 12. 保留使用(保留)财产时的行为
- 13. 没有保留周期,但为什么仍然有保留周期警告?
- 14. initSql财产和DriverManagerDataSource这个
- 15. 两个弱变量可以创建一个保留周期吗?
- 16. 为什么我有一个可能的保留周期警告
- 17. 仅在第一个采样周期内保留重复值
- 18. 块有可能导致一个保留周期
- 19. Objective-C块的生命周期和保留周期
- 20. 为什么这不会导致Swift中的保留周期?
- 21. 保留周期:为什么这么糟糕?
- 22. 保留周期中关闭涉嫌
- 23. 保留周期与核心数据
- 24. 删除节点导致保留周期
- 25. 使用addObserverForName时保留周期:object:queue:usingBlock:
- 26. 块和弱引用保留周期
- 27. 核心数据和保留周期
- 28. 斯威夫特保留周期解释
- 29. 父母子女建设保留周期
- 30. 检查这个星期一是上周一在一个月
有一件事要补充 - 这实际上很容易测试。我用一个快速启发来确定一个保留周期是否存在(可能不完美,所以你的里程可能会有所不同),但只需将NSLog放入你的视图控制器的'dealloc'方法中,并且当你关闭视图控制器时,如果有一个保留周期它将不会被调用。 – Mike
@Mike我测试了你是如何定义的以及它的调用方法,谢谢 –