【发布时间】:2014-10-08 14:24:03
【问题描述】:
我刚刚写了这个保留循环:
#import <Foundation/Foundation.h>
#import "Driver.h"
#import "Car.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
Driver *driver = [[Driver alloc] init];
Car *car = [[Car alloc] init];
driver.car = car;
car.driver = driver;
}
sleep(100);
return 0;
}
显然,Driver 和 Car 具有很强的属性。
无论如何,Instruments 没有在 Xcode 6.1 上的 Leaks -> Cycles & Roots 中显示保留周期。
这是一个保留循环,对吗?那么发生了什么?
【问题讨论】:
-
如果我不得不猜测,它不会被检测为保留周期,因为它们都在函数结束时超出了范围,从而使它们同时被安排进行清理。不过,我不是 100% 的。
标签: ios objective-c instruments retain-cycle