【发布时间】:2012-06-07 18:54:12
【问题描述】:
在我的 TableView 中,我希望根据单元格的内容动态显示 TableView 或 DetailView(新 segue)。我设置了两个从 TableView 到不同 DetailViews 的 segue,以及一个从 TableViewCell 到 TableView 的 segue。
我几乎已经使用performSegueWithIdentifier: 完成了实现(见下文),但还有一个棘手的问题:我在 DetailView 上调用 [self dismissModalViewControllerAnimated:YES]; 后,它返回到一个空的 TableView 。我假设是因为执行了来自 UITableViewCell 的 Storyboard segue。通过单击后退按钮,我返回到我的原始(父)TableView 数据。
对这项工作有什么建议吗?
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"%s", __PRETTY_FUNCTION__);
NSString *type = [[self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row] valueForKey:@"cell_type"];
NSLog(@"cell_type: %@", type);
if([[segue identifier] isEqualToString:@"DetailSegue"])
{
UIViewController *detailViewController = [segue destinationViewController];
detailViewController.game = [self.dataController objectInListAtIndex:[self.tableView indexPathForSelectedRow].row];
} else if ...
} else if([[segue identifier] isEqualToString:@"TableViewSegue"]){
if([type isEqualToString:@"TableView"]){
//Create child ViewController, a custom ViewController with custom initWithId:Title:
CategoryViewController *categoryViewController = [[segue destinationViewController] initWithId:categoryId Title:categoryTitle];
}
}
}
【问题讨论】:
-
您是否尝试检查您的 TableView 的 viewWillAppear 方法是否有数据?
标签: ios xcode uitableview segue