我在网上发现了这段代码,以检查我的NSZombiesEnabled是否开启
if( getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled") ) {
NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}
奇怪的是,如果在我的环境中。 XCode4中的变量我设置NSZombiesEnabled = NO然后代码仍然显示它要设置。只有当我完全删除设置时才会显示。
我相信NSZombiesEnabled会创建一个大量的内存泄漏,所以我想确保只设置env。变量为NO也会禁用它。
干杯 尼克
答案 0 :(得分:3)
将变量设置为"NO"
,不会禁用它 - 它只是将变量设置为"NO"
,框架会检查值本身。你必须检查它是否等于字符串"NO"
。 if语句不会检查值是否为"no"
,而是检查值是empty
,nil
,NULL
,零等等。