- 我正在使用 ARC。
- 这里的研究案例包括一个自定义的 UITabBarController 和它的一个 UIViewControllers。
- Tabbar 对某个类的 Object 有很强的引用。该对象还具有对 Tabbar 本身的强引用,这导致了导致不调用 dealloc 的循环。
- 与 ViewController 相同,它具有对 Object 的强引用,并且对象返回给 viewcontroller。它也没有被释放。但这是因为它的父 uitabbarcontroller 没有被释放。当我从标签栏删除对对象的强引用时,两者都会被释放,而逻辑上应该只分配标签栏,因为视图控制器仍然具有强循环引用。
知道这里发生了什么。我对此进行了大约 2 个小时的调查,但没有任何结果。
为什么 viewcontroller 和 uitabbarcontroller 的行为方式不同?