如何从UITableView转换后根据不同的数据加载不同的UIViews?

时间:2016-08-03 15:18:23

标签: ios objective-c uitableview segue

我是UITableView,它从数据库文件加载数据。它有不同的部分。我已设法以编程方式设计自定义UITableViewCell。当我触摸一个单元格时,我会转到UIViewController。 segue是从Interface Builder添加的。现在,我需要根据UILabel的部分编号在新UIButton中加载不同的内容(即UIViewControllerUITableView)。为了更加可视化,我在下面添加图片。

如何做到这一点?我应该为每个操作使用自定义UIViewController子类吗?或者有更简单的方法吗?

第一个视图 view 1 第二视图 view 2 第3次观看 view 3

1 个答案:

答案 0 :(得分:2)

在代码中,您可以使用prepareForSegue方法,检查标识符,然后传递下一个UIViewController相关数据。

如果每种类型的单元格的界面不同,那么您应该为每种界面使用不同的UIViewController。所有这些都可以通过故事板完成,通过从每个原型单元“ctrl-dragging”到另一个控制器来完成。

如果您不想为不同的数据使用不同的原型单元格。 (这将使故事板非常容易),然后通过故事板中的代码,通过didSelectRowAtIndexPath UITableView delegate方法中的代码调用segue。像这样:

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    switch indexPath.section {
    case 0:
        performSegueWithIdentifier("some_segue_id", sender: self)
    case 1:
        performSegueWithIdentifier("another_segue_id", sender: self)
    default:
        print("not a known section")
    }
}