我有一个问题,这行可以造成任何麻烦吗?
self.window.rootViewController = self.viewController;
假设self
的两个属性都有retain
setter:
@property(nonatomic, retain) UIViewcontroller viewController;
我的问题是这会导致任何奇怪的对象树或保留周期或内存问题吗? viewController
的保留计数为2
,因此如果self
想要删除内存,那么self.window.rootViewController
仍然可以保留对它的引用?还是我完全错了?
答案 0 :(得分:2)
如果你只看箭头的方向,你可以看到这里没有循环。视图控制器只有两个所有者。
答案 1 :(得分:1)
如果要解除分配self.viewController
,则需要清除两个引用:
self.window.rootViewController = nil; // or some other controller
self.viewController = nil; // or some other controller