Освобождение элемента навигации - PullRequest
0 голосов
/ 01 сентября 2011

У меня следующий вопрос:

У меня есть AppDelegate, и я добавляю туда навигационный контроллер и загружаю в него UIViewController B.

В B я добавляю элемент навигации, элемент LeftBarButtonItem или элемент RightBarButtonItem.

Где я должен выпустить эти элементы, потому что я размещаю и инициализирую их в B. Итак, сначала я подумал о выпуске self.navigationItem.rightBarButtonItem в Dealloc-Method of B.

Но если я анализирую свое приложение, анализатор говорит в позиции релиза в методе dealloc B:

Неверное уменьшение счетчика ссылок объекта, который не является на данный момент принадлежит вызывающей стороне.

Но я не понимаю, что я сделал неправильно, или все в порядке, и это проблема с анализатором?

Может кто-нибудь помочь мне узнать?

Привет, Ан1984

1 Ответ

1 голос
/ 01 сентября 2011

Как только вы выделите и присвоите rightBarButtonItem, вы сможете освободить как

UIBarButtonItem *rightBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(showNewEventViewController)];
self.navigationItem.rightBarButtonItem = rightBarButtonItem;
[rightBarButtonItem release];

Аналогично leftBartButtonItem

self.navigationItem.rightBarButtonItem может иметь в себе сохранение и знает, когда освободить этот счет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...