我有三个表格视图A,B,C。视图流程如下:
表A,点击一行--->表B,点击一行----表C
我使用以下方法将数据从主视图A发送到详细视图B.
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showDetailFinal"]) {
NSIndexPath *indexPath = [self->ListView_A indexPathForSelectedRow];
DetailView_B *destViewController = segue.destinationViewController;
destViewController.detailStatements = [dataArray objectAtIndex:indexPath.row];
}
}
我再次使用相同的方法将detailView_B中的数据发送到moreDetailView_C
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
if ([segue.identifier isEqualToString:@"showDetailFinal"]) {
NSIndexPath *indexPath = [self->DetailView_B indexPathForSelectedRow];
More_DetailView_C *destViewController = segue.destinationViewController;
destViewController.detailStatements = [dataArray objectAtIndex:indexPath.row];
}
}
我使用模态segues而不是push。问题是,当我从表A转到表B时,我看到表B中的数据。
但是当我从表C回到表B时,我在表B中看不到任何数据。
表B中的视图加载方法是:
- (void)viewDidLoad {
[super viewDidLoad];
NSLog(@"the name is %@",detailStatements.name);
// here when I come from table A, name is not null
//but when I come from table C,name is null.
}
是否可以对所有3个表视图使用公共segue标识符?
请告诉我处理此事的可能方法?
答案 0 :(得分:0)
根据你的评论,你需要一个放松的segue,而不是你用来倒退的正常segue。
这可能会有助Storyboard: Control-drag from a bar button to the Exit item
或者向按钮添加操作以简单地关闭视图控制器。