在下面的例子中,我已经将abc定义为弱引用。
@interface myClass : NSObject
@property (nonatomic, weak) Line *abc
@end
- (id)init
{
abc = [[Line alloc] init]
}
abc是否可以随机取消分配,因为没有人强烈指出它?我很难理解如何在客观c等语言中解除分配。由于没有垃圾收集器,究竟是什么从内存中删除它(通过简单地将其设置为nil并调用dealloc?)?
我想象它的工作方式是当myClass设置为nil时,它将在所有引用计数为0的实例变量上调用dealloc。直到myClass设置为nil,abc将始终在内存中。我是对的吗?
答案 0 :(得分:1)