iOS NSZombiesEnabled = YES

Я нашел этот фрагмент кода онлайн, чтобы проверить, включен ли мой NSZombiesEnabled

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

Странно то, что если в моем env. переменные в XCode4 Я устанавливаю NSZombiesEnabled = NO, тогда код все еще показывает, что он должен быть установлен. Только если я полностью удаляю настройку, она не отображается.

Я считаю, что NSZombiesEnabled создает одну зияющую утечку памяти, поэтому я хочу быть уверен, что просто установив env. переменная в NO также отключает его.

Ура ник

1 ответ

Установка переменной в "NO", не отключает его - он просто устанавливает переменную в "NO" и структура проверяет само значение. Вы должны проверить, равна ли она строке "NO", Оператор if не проверяет, говорит ли значение "no", он проверяет, является ли значение empty, nil, NULLноль и т. д.

Другие вопросы по тегам