我对 3 种不同的观点有 3 种不同的看法。2 执行没有问题,当创建第三个时,问题就出现了。
我有以下 didSelectRowAtIndexPath 方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@" ---------- did select row");
if(indexPath.section == 0){
if(indexPath.row == [self.data count]-1){
//prior to adding this, everything works
[self performSegueWithIdentifier:@"MoreComments" sender:self];
}else{
[self performSegueWithIdentifier:@"FriendView" sender:friend];
}
}else if(indexPath.section == 1){
if(indexPath.row == [self.data2 count]-1){
[self performSegueWithIdentifier:@"MorePosts" sender:self];
}else{
[self performSegueWithIdentifier:@"FriendView" sender:friend];
}
}
}
我有以下 prepareForSeque 方法:
-(void) prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
if([segue.identifier isEqualToString:@"MorePosts"]){
MorePostsViewController *mfamvc = segue.destinationViewController;
mfamvc.data = self.data;
}else if([segue.identifier isEqualToString:@"FriendView"]){
FriendViewController *fvc = segue.destinationViewController;
fvc.friend = friend;
}else if([segue.identifier isEqualToString:@"MoreComments"]){
MoreCommentsViewController *mcvc = segue.destinationViewController;
mcvc.data = self.data2;
}
}
在控制从我的单元格拖动到最后一个视图之前,我可以看到我的程序点击了 didselectrow,然后是 prepareforseque。这使得所有视图导航工作完美。
一旦我控制从我的单元格拖动到 MoreCommentsViewController 我开始看到错误:
嵌套推送动画可能会导致导航栏损坏 在意外状态下完成导航转换。导航栏子视图树可能会损坏。
我注意到现在也调用了 prepareforseque 两次,首先调用 prepareforseque,然后是 didselectrow,然后再次调用 prepareforsegue。
有条件地去这些不同的观点我做错了什么?