Должен ли я сохранять / освобождать значения, взятые из NSDictionary? - PullRequest
2 голосов
/ 24 августа 2011

Обычно я делаю что-то подобное (ниже), чтобы получить нужное мне значение:

NSDictionary *state = [notification.userInfo objectForKey:@"state"];
[self.tabBarItem setBadgeValue:[state objectForKey:@"short"]];

Но стоит ли сохранять / освобождать значения, взятые из NSDictionary?Примерно так:

NSDictionary *state = [[notification.userInfo objectForKey:@"state"] retain];
[self.tabBarItem setBadgeValue:[state objectForKey:@"short"]];
[state release];

Это более дружественно к памяти?Или я не должен беспокоиться и просто доверять пулу авто-выпусков, чтобы делать свою работу?

1 Ответ

3 голосов
/ 24 августа 2011

Нет, в этом нет никакого смысла. Результат [notification.userInfo objectForKey:@"state"] всегда является автоматически освобожденным объектом; если вы добавите дополнительные retain и release, это ничего не изменит.

...