通常我会这样做(如下)来获取我需要的值:
NSDictionary *state = [notification.userInfo objectForKey:@"state"];
[self.tabBarItem setBadgeValue:[state objectForKey:@"short"]];
但是值得为从NSDictionary中获取的值做retain/release吗?像这样:
NSDictionary *state = [[notification.userInfo objectForKey:@"state"] retain];
[self.tabBarItem setBadgeValue:[state objectForKey:@"short"]];
[state release];
是否更内存友好?或者我不应该麻烦,只是相信自动释放池来完成它的工作?
不,那样做没有意义。[notification.userInfo objectForKey:@"state"]
的结果总是一个自动释放的对象;如果您添加额外的retain
和release
,这将不会改变任何东西