iOS - 根据TableView选择的行自定义segue ViewController的最简单方法是什么?

时间:2015-02-03 16:56:37

标签: ios objective-c tableview

问题:自定义在选择表视图中的行时调用的segue视图控制器。

可能不起作用的不同解决方案: 1°从单个视图中创建所有自定义TableView,并将ViewController与每个Cell关联。 2°将NavigationController连接到TableView segue,并在选择行时选择NavigationController上的ViewController。

这是一种更有效率的方法吗?

2 个答案:

答案 0 :(得分:1)

为了扩展上述内容,亚历山大的正确答案我想添加一段代码,解释如何按照他的说法去做。听起来你想根据所选的单元格自定义你正在调整的ViewController。

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    UITableViewCell *cell = (UITableViewCell *)sender;
    if ([cell.textLabel.text isEqualToString:@"Hawaii"]) {
        // Configure VC based on this case
    }
}

您还可以使用与细胞相关的任何其他内容,例如与

相关联的对象
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
self.list[indexPath.row];

答案 1 :(得分:0)

使用prepareForSegue初始化ViewController。

  

由于segues可以从多个源触发,因此您可以使用segue和sender参数中的信息来消除应用中不同逻辑路径之间的歧义。例如,如果segue源自表视图,则sender参数将标识用户点击的表视图单元格。您可以使用该信息在目标视图控制器上设置数据。

https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIViewController_Class/index.html#//apple_ref/occ/instm/UIViewController/prepareForSegue:sender