Jon*_*Jon 100 iphone objective-c storyboard uitableview ios
我正在使用故事板,我有一个UITableView.我有一个segue设置,从我的表推送到细节VC.但是我应该使用哪种方法来处理这个问题?我必须将几个对象传递给详细视图.但我使用didSelectRowAtIndex
或-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
?
rob*_*off 197
如果您使用prepareForSegue:sender:
那么如果您以后决定从表视图外的某些控件触发segue,那么您将无需更改.
该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];
}
Run Code Online (Sandbox Code Playgroud)
在Swift中:
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let path = self.tableView.indexPathForSelectedRow()!
segue.destinationViewController.detail = self.detailForIndexPath(path)
}
Run Code Online (Sandbox Code Playgroud)
我做到了这一点并且有效
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
NSLog(@"Row Selected = %i",indexPath.row);
[self performSegueWithIdentifier:@"testID" sender:self.view];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
72310 次 |
最近记录: |