我会怎样dealloc
布尔值?
下面这种方式释放它给了我一个警告:Incompanypointer to integer conversion allocateing to 'BOOL' (aka 'signed char') from 'void *'
- (void)dealloc {
self.booleanVar = nil;
[super dealloc];
}
也许我应该澄清一下,这是一个从 NSObject 继承的简单类。
我正在使用您在 Cocoa Touch 类中看到的 self.var = nil 模式。假设它是 NSString* 我应该在中使用 self.var = nil 或 [var release]dealloc
方法?我在这里有点困惑。
你不需要这样做。这是not一个东西。这也解释了警告,因为您试图将 nil 指针(基本上是对象的 NULL)分配给非对象。
关于你的第二个问题,是的。您可以将原始变量视为对象的一部分,因此当它被释放时,变量将不再存在。
但是当你有一个NSString *
在一个对象中,它只是指向另一个对象的指针。如果您解除分配前者,则指针将被删除,而不是NSString
。没有人会指出它,它有点消失在空气中,占据了记忆。因此,在删除指针之前,如果不再需要该对象,请向其发送释放消息。这是在 dealloc 方法中完成的,因为它被称为“删除”和对象,因此是删除不再使用的所有其他对象的好地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)