UINavigationController не всегда выдвигает элемент? - PullRequest
0 голосов
/ 07 октября 2011

navigation bar

Я перехожу с первого вида на второй.Когда появляется второй вид, то панель навигации выглядит как на картинке выше.На этом изображении у меня есть кнопка с названием «Список».Когда я нажимаю на кнопку списка, появляется третий вид.для этого я использовал этот код ...

 -(IBAction)list{
place_Object=[[Places alloc] initWithNibName:@"Places" bundle:nil];

[self.navigationController pushViewController:place_Object animated:YES];
[place_Object release];
//self.navigationItem.backBarButtonItem = [[[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:nil action:nil] autorelease];

}

Теперь проблема заключается в том, что когда нажимают кнопку списка, иногда появляется представление, а иногда представление не перемещается при навигации и выдает какую-либо ошибку.Что является ошибкой в ​​этом коде или что является ошибкой, чтобы она произошла.

Заранее спасибо ...

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Если ПРОСМОТР появляется в первый раз, когда вы нажимаете КНОПКУ в списке, и после этого вы получаете сообщение об ошибке, mayby ​​происходит из этого [place_Object release]; .Вы должны освободить в - (void) dealloc, иначе вы позвоните зомби.Попробуйте исследовать с помощью инструментов.Используйте Run / Run With Performance Tool / Allocations там просто включите Zombie и посмотрите, что получится.Надеюсь, это поможет вам.

0 голосов
/ 07 октября 2011

place_object является экземпляром PLACE?

если place_object был объявлен как:

PLACE *place_object;

Вы не должны публиковать его в своем списке - (IBAction). Попробуйте удалить [поместить релиз] из списка - (IBAction) и добавить его в вашу - (void) функцию dealloc

...