如何显示用户在表格视图中选择行的新表格视图 swift

how to display a new tableview from user selecting row in tableview swift

我想弄清楚当用户在当前表视图中选择特定行时如何切换到新视图。我认为这将通过 didselectrowatindexpath 方法完成,但无法弄清楚它将如何工作的逻辑。我希望它显示一个视图,其中包含用户选择的主题中的特定课程。我认为这将使用数组?我将不胜感激这里的任何帮助谢谢。

是的,你是对的,你可以通过响应 didSelectRowAtIndexPath 来做到这一点。

您可以将视图控制器作为实现这些方法的 table 视图委托:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath)
{
    if let thing = self.things.objectAtIndex(indexPath.row) as? Thing
    {
        self.performSegueWithIdentifier("OpenThing", sender: thing)
    }
}

其中 "OpenThing" 是在我的故事板中定义的转场。

然后我重写了 prepareForSegue 方法:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    if segue.identifier == "OpenThing"
    {
        if let controller = segue.destinationViewController as? ThingViewController
        {
            if let thing = sender as? Thing
            {
                controller.thing = thing
            }
        }
    }
}

这是一个具有 "Things" 数组的人为示例。我通过行索引访问一个东西,然后转到下一个视图控制器,提供我想要显示的东西。