1

我在网上找到了这段代码来检查我的 NSZombiesEnabled 是打开还是关闭

if( getenv("NSZombieEnabled") || getenv("NSAutoreleaseFreedObjectCheckEnabled") ) {
    NSLog(@"NSZombieEnabled/NSAutoreleaseFreedObjectCheckEnabled enabled!");
}

奇怪的是,如果在我的环境中。XCode4 中的变量我设置 NSZombiesEnabled = NO 然后代码仍然显示它被设置。只有当我完全删除设置时它才会显示。

我相信 NSZombiesEnabled 会造成一个巨大的内存泄漏,所以我想确保只是设置环境。变量为 NO 也会禁用它。

干杯尼克

4

1 回答 1

3

将变量设置为"NO", 并不会禁用它——它只是将变量设置为"NO"并且框架会检查值本身。您必须检查它是否等于 string "NO"。if 语句不检查值是否为"no",它检查值是否为emptynilNULL、 零等。

于 2011-07-16T16:38:59.127 回答