1

NSZombiesEnabledがオンかオフかを確認するために、このコードをオンラインで見つけました

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

奇妙なことは、私の環境にいる場合です。XCode4の変数NSZombiesEnabled=NOを設定しても、コードはそれが設定されていることを示しています。設定を完全に削除した場合のみ表示されません。

NSZombiesEnabledは1つのギャップのあるメモリリークを引き起こすと思うので、envを設定するだけであることを確認したいと思います。NOへの変数もそれを無効にします。

乾杯ニック

4

1 に答える 1

3

変数を に設定"NO"しても無効にはなりません — 変数を に設定するだけで"NO"、フレームワークは値自体をチェックします。string と等しいかどうかを確認する必要があります"NO"。if ステートメントは、値が"no"であるかどうかをチェックせず、値がemptynilNULL、ゼロなどであるかどうかをチェックします。

于 2011-07-16T16:38:59.127 に答える