我对目标 c 很陌生。我已经为内存泄漏试验了一个方便的构造函数。
这是我的构造函数
+(Myobject * ) test{
return [[self alloc] init];
}
我在 main.m 中用这段代码测试它
Myobject * __weak g = [Myobject test];
NSLog(@"%@",g);
我希望日志会显示 (null),因为构造函数中的指针在超出范围时死亡,并且 arc 会将该对象从内存中删除,因为没有强指针来保留它。只是弱指针。
但是在日志中它说一个对象还活着。在我现在的理解中,有一个强指针可以在构造方法中保留这个对象。所以它会永远存在。
那么我怎样才能摆脱那个指针呢?还是我错过了什么?