我用的是故事板,我有一个UITableView.我有一个segue设置,可以从我的桌子推到细节VC.但是我应该用什么方法来处理呢?我必须将几个对象传递到细节视图.但我用didSelectRowAtIndex
还是-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
?
我用的是故事板,我有一个UITableView.我有一个segue设置,可以从我的桌子推到细节VC.但是我应该用什么方法来处理呢?我必须将几个对象传递到细节视图.但我用didSelectRowAtIndex
还是-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
?
如果您使用prepareForSegue:sender:
,那么如果您稍后决定从表视图之外的某个控件触发段,则不会有太多更改.
prepareForSegue:sender:
消息被发送到当前的视图控制器,因此我建议如下所示:
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
// Assume self.view is the table view
NSIndexPath *path = [self.tableView indexPathForSelectedRow];
DetailObject *detail = [self detailForIndexPath:path];
[segue.destinationViewController setDetail:detail];
}
在SWIFT中:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let path = self.tableView.indexPathForSelectedRow()!
segue.destinationViewController.detail = self.detailForIndexPath(path)
}