iOS NSZombiesEnabled = YES

时间:2011-07-16 16:24:13

标签: ios xcode memory-leaks memory-leak-detector nszombieenabled

我在网上发现了这段代码,以检查我的NSZombiesEnabled是否开启

if( getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled") ) {
    NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}
奇怪的是,如果在我的环境中。 XCode4中的变量我设置NSZombiesEnabled = NO然后代码仍然显示它要设置。只有当我完全删除设置时才会显示。

我相信NSZombiesEnabled会创建一个大量的内存泄漏,所以我想确保只设置env。变量为NO也会禁用它。

干杯 尼克

1 个答案:

答案 0 :(得分:3)

将变量设置为"NO",不会禁用它 - 它只是将变量设置为"NO",框架会检查值本身。你必须检查它是否等于字符串"NO"。 if语句不会检查值是否为"no",而是检查值是emptynilNULL,零等等。