Я часто вижу что-то вроде следующего:
UIBarButtonItem *anotherButton = [[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)];
self.navigationItem.rightBarButtonItem = anotherButton;
[anotherButton release];
, особенно там, где используется локальная переменная, в данном случае «anotherButton», а затем выпускается позже.Это то же самое, что и автоматическое освобождение, когда оно выделяется, и затем убедиться, что оно используется до завершения метода?то есть:
UIBarButtonItem *anotherButton = [[[UIBarButtonItem alloc] initWithTitle:@"Show" style:UIBarButtonItemStylePlain target:self action:@selector(refreshPropertyList:)] autorelease];
self.navigationItem.rightBarButtonItem = anotherButton;
Я спрашиваю, потому что я вижу, что это было сделано первый раз огромное количество времени, но это менее подвержено ошибкам (для меня), чтобы просто автоматически выпустить его.Это просто вопрос личного стиля или есть различия между этими двумя подходами, за исключением того, что один методически освобождает объект после того, как все сделано с ним, а другой заботится о том, чтобы он был освобожден с самого начала, чтобы никто не случайнозабудь, оба имеют достоинства.