【发布时间】:2017-06-08 00:23:15
【问题描述】:
我有这段代码(根据我正在关注的教程修改):
#import <Foundation/Foundation.h>
@class Car;
@class Person;
@interface Person: NSObject
@property Car* owningCar;
@end
@implementation Person:NSObject
-(void)dealloc {
NSLog(@"Person is gone");
}
@end
@interface Car:NSObject
@property Person* owner;
@end
@implementation Car:NSObject
-(void)dealloc {
NSLog(@"Car is gone");
}
@end
void testRefCycle () {
Person* me = [[Person alloc] init];
Car* civic = [[Car alloc] init];
me.owningCar = civic;
civic.owner = me;
}
int main(int argc, const char * argv[]) {
@autoreleasepool {
testRefCycle();
}
return 0;
}
我打开 Profiler Leaks 并运行它,希望得到 Leaks,但没有任何显示。如果这创建了一个引用循环,为什么没有泄漏?
当我运行项目时,也没有输出。没有泄漏为什么没有输出?
【问题讨论】: