У меня была такая же проблема, и я решил опубликовать, если кто-то столкнется с чем-то похожим.
В моем случае я подключил распознаватель жестов длинным нажатием к своему UITableViewController.
UILongPressGestureRecognizer *longPressGesture = [[[UILongPressGestureRecognizer alloc]
initWithTarget:self
action:@selector(onLongPress:)]
autorelease];
[longPressGesture setMinimumPressDuration:1];
[self.tableView addGestureRecognizer:longPressGesture];
В моем селекторе onLongPress я запустил свой следующий контроллер представления.
- (IBAction)onLongPress:(id)sender {
SomeViewController* page = [[SomeViewController alloc] initWithNibName:@"SomeViewController" bundle:nil];
[self.navigationController pushViewController:page animated:YES];
[page release];
}
В моем случае я получил сообщение об ошибке, потому что распознаватель длинных нажатий сработал более одного раза, и в результате мой "SomeViewController "был помещен в стек несколько раз.
Решением было добавить логическое значение, чтобы указать, когда SomeViewController был помещен в стек.Когда был вызван метод viewWillAppear моего UITableViewController, я снова установил логическое значение NO.