通常我会做这样的事情(如下)来获得我需要的价值:
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];
它更友好吗?或者我不应该费心去信任autorelease pool来完成它的工作?
答案 0 :(得分:3)
不,这样做没有意义。 [notification.userInfo objectForKey:@"state"]
的结果总是一个自动释放的对象;如果您添加额外的retain
和release
,则不会更改任何内容。