iOS:简单的保留周期

标签 ios objective-c cocoa-touch memory-management retain-cycle

假设您有一个 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/

相关文章:

iOS - 错过了导航流程

objective-c - 使用 kABPersonAddress 属性设置 addressDictionary

ios - 如何计算 iPad 上模态视图的底部偏移量?

iphone - 在循环中使用 NSInteger

Objective-C、C 类型数组和 OpenGL ES 2.0

ios - 直观地改进 iOS 11leadingSwipeActions 的异步操作

ios - 在iOS上播放youtube视频的最简单方法

iphone - 将垃圾收集添加到 iPhone?

ios - Twitter SLComposeViewController 经常无法触发

ios - UITableView 删除行,commitEditingStyle 方法不触发?