Должны ли добавленные кнопки UINavigationController быть автоматически освобождены?этот код в порядке? - PullRequest
2 голосов
/ 27 мая 2011

Должны ли добавленные кнопки UINavigationController быть автоматически освобождены? этот код в порядке?

Справочная информация. Я вижу ряд проблем с навигацией, возникающих в моем приложении после того, как я запускаю "предупреждения памяти". Мне интересно, связано ли это с вопросом, который я здесь поставил. Вопросы будут включать в себя:

  1. Правильно ли указан код ниже?
  2. Какой-нибудь дополнительный код управления памятью требуется в другом месте? (например, метод dealloc? - в настоящее время у меня нет кода для освобождения каких-либо кнопок)
  3. Любые другие советы о том, что может быть не так с заполнением панели навигации / проблемами с потоком экрана при использовании UINavigationController после имитации предупреждений памяти

Код ниже:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.navigationItem.rightBarButtonItem = [ 
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAction:)] autorelease];   // IS AUTORELEASE HERE CORRECT?
    self.navigationItem.leftBarButtonItem = self.editButtonItem;  
    self.title = @"Views";   

спасибо

Ответы [ 2 ]

3 голосов
/ 27 мая 2011

Я всегда просто использую autorelease, и я думаю, что он должен работать очень хорошо.

0 голосов
/ 27 мая 2011
- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *rightBarButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(addAction:)];   // IS AUTORELEASE HERE CORRECT?
    self.navigationItem.rightBarButtonItem = rightBarButton;
[rightBarButton release];
    self.navigationItem.leftBarButtonItem = self.editButtonItem;  
    self.title = @"Views";  
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...