如何让我的TableView选项打开我的模态视图?

时间:2016-03-03 14:18:57

标签: ios swift model-view-controller

我创建了一个TableView,其中包含TableViewCell

我希望TableView中的单元格在单独的ViewController中打开。

我的故事板看起来像这样:

my storyboard

我的TableViewController有这个:

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "ShowVerse" {
        let pageDetailViewController = segue.destinationViewController as! PageViewController

        // Get the cell that generated this segue.
        if let selectedPageCell = sender as? PageTableViewCell {
            let indexPath = tableView.indexPathForCell(selectedPageCell)!
            let selectedPage = pages[indexPath.row]
            pageDetailViewController.page = selectedPage
        }
    }
}

在我的 PageViewController.swift 中,我有这个:

var page: Page?

override func viewDidLoad() {
    super.viewDidLoad()

    if let page = page {
        chapter.text = String(page.chapter)
        verse.text = String(page.verse)
    }
}

我没有收到任何错误。但是攻击细胞并不算什么。我可能会失踪什么?

2 个答案:

答案 0 :(得分:1)

试试这个:

func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
    performSegueWithIdentifier("ShowVerse", sender: self)
}

答案 1 :(得分:1)

<强>夫特

didSelectRowAtIndexPath中的代码

UpperV.y


在切换到下一个视图控制器之前,如果要将值传递给下一个视图控制器

self.performSegueWithIdentifier("homeSegue", sender: self)



目标C
didSelectRowAtIndexPath中的代码

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if (segue.identifier == "homeSegue")
    {
        var homeController = segue.destinationViewController as? ViewController
        homeController.name = "valeu"
    }
}


在切换到下一个视图控制器之前,如果要将值传递给下一个视图控制器

[self performSegueWithIdentifier:@"ShowVerse" sender:self];