由于在StoryBoard中UITableViewCell不能创建多个Segue,但是其Source View可以,按住control键,直接从当前页面的Master view Controller(而不是UITableViewCell)拖到子页面的Controller创建Segue,为每个Segue唯一命名。然后在选择不同的Cell时,通过程序控制跳转:
-(void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
if ([myModel rowHasNextLevel:indexPath.row]) {
[self performSegueWithIdentifier:@"toNextLevel" sender:self];
} else {
[self performSegueWithIdentifier:@"toDetail" sender:self];
}
}
上面的方法无法创建指向自身的Segue,如果要导航到一个与自身相同的页面,需要用到一些小技巧,即创建一个UIButton,并将其属性设置为隐藏,然后从此按钮拖一个指向自身的Segue,在上面的代码中加入跳转代码即可。