在下面的示例中,我将 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 将始终在内存中。我对么?