У меня есть следующий фрагмент кода из книги.
Есть эта функция loadPrefs, где NSString * userTimeZone высвобождается до конца функции.
Почему?Строка не была создана с помощью alloc, и я предполагаю, что функция stringForKey возвращает автоматически освобожденную строку NSString.Это ошибка или я что-то упустил?Это ошибка в книге?(Я впервые в target-C)
В документации для stringForKey упоминается только то, что:
Особые замечания
* 1015возвращаемая строка является неизменной, даже если значение, которое вы изначально установили, было изменяемой строкой.
Код:
- (void) loadPrefs {
timeZoneName = DefaultTimeZonePref;
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
NSString *userTimeZone = [defaults stringForKey: TimeZonePrefKey];
if (userTimeZone != NULL)
timeZoneName = userTimeZone;
[userTimeZone release];
show24Hour = [defaults boolForKey:TwentyFourHourPrefKey];
}
Спасибо !!!!