У меня есть NavigationController, в котором есть TableView. Ячейка в телевизоре имеет «модальный» переход, который указывает на TableViewController (класс: Details.h/.m). Когда я выбираю ячейку, я попадаю в TableViewController, как и ожидалось.
Однако мне нужно добавить следующие функции:
1) нажмите на пункт назначения, чтобы я получил красивую кнопку возврата.
2) передайте различную информацию об объекте в выбранной ячейке в пункт назначения TVC.
Для этого я решаю следующие задачи:
1) Измените переход на "push" и присвойте ему идентификатор "segueToDetails"
2.1) добавьте код в метод didSelectRowAtIndexPath (ниже)
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
[self performSegueWithIdentifier:@"segueToDetails" sender:self];
}
2.2) добавьте код в метод prepareForSegue (ниже)
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSIndexPath *selectedIndexPath = [self.tableView indexPathForSelectedRow];
NSInteger rowNumber = selectedIndexPath.row;
myObject = (MyObject *) [myArray objectAtIndex:rowNumber];
Details *details = [segue destinationViewController];
details.detailsObject = myObject;
}
2.3), чтобы подтвердить, что информация об объекте передается получателю, я вывожу некоторые данные с помощью NSLog (ниже)
- (void)viewDidLoad
{
[super viewDidLoad];
NSLog(@"name: %@", detailsObject.name);
}
Теперь, когда я запускаю проект и выбираю ячейку в таблице, я попадаю в целевой TVC, я вижу вывод из NSLog, что хорошо. У меня также есть хорошая кнопка назад. Но подождите, когда я нажимаю «Назад», у меня есть еще одна кнопка «Назад»! Нажав эту кнопку «Назад», я вернусь туда, откуда я изначально пришел. Окно отладчика показывает это сообщение каждый раз, когда я перехожу к целевому TVC.
2012-01-24 13:55:58.240 MyApp[26875:11603] nested push animation can result in corrupted navigation bar
012-01-24 13:55:58.593 MyApp[26875:11603] Finishing up a navigation transition in an unexpected state. Navigation Bar subview tree might get corrupted.
2012-01-24 13:55:58.593 MyApp[26875:11603] Unbalanced calls to begin/end appearance transitions for <SpotDetails: 0x7a7a370>.
Любые предложения о том, как решить эту проблему?
PS — я использую Xcode 4.2 с ARC, iOS 5