假设您有一个 viewController:
@property (strong) object* A
@property (strong) object* B
然后你在某个时候故意创建一个保留周期,没有计时器,这样
self.A.someStrongProperty = self //retain cycle
问题:假设包含这些属性的 VC 被释放,保留循环或内存泄漏是否会持续存在?
最佳答案
在您上面发布的代码中,没有保留周期。
保留周期将是 self.A = self;
或者更可能是 self.A.someStrongProperty = self
。
编辑:在您进行上述编辑的情况下,假设 self
是一个 View Controller ,由于保留周期,它不会解除分配。您应该将 someStrongProperty
更改为 weak
属性,这将阻止保留周期。
关于iOS:简单的保留周期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19669187/