使用prepareForSegue将特定数据传递到另一个Viewcontrol

时间:2016-04-08 05:08:12

标签: swift segue

我正在尝试制作Vocab应用。第一个ViewController是一个静态tableView,用户可以选择要记忆的单词日期。所有day_vocabulary数组都在这个ViewController中,一个数组包含30个词汇表,我有90天的词汇。

当用户选择日期时,此ViewCotroller将数组传递给另一个将显示30个词汇表的视图。在这里,我尝试使用90个segue将特定数据传递给另一个ViewControl,它看起来并不好看。我也尝试使用像这样的didSelectRowAtIndexPath,

    override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {

    if  indexPath.section == 0  && indexPath.row == 0 {
        performSegueWithIdentifier("dayVocab1", sender: nil )

    }

}

我意识到我不能通过阅读另一篇帖子而不使用故事板来设置segue的标识符,所以结果将是相同的。

我想知道只使用一个segue传递特定数据。

这是另一个prepareFor segue的代码。

覆盖func prepareForSegue(segue:UIStoryboardSegue,sender:AnyObject?){

    if (segue.identifier == "dayVocab1") {

    let destViewController : ViewController = segue.destinationViewController as! ViewController
        destViewController.vocabData = vocab_day1p1
        destViewController.meaningData = meaning_day1p1

    }

    if (segue.identifier == "dayVocab2") {

        let destViewController : ViewController = segue.destinationViewController as! ViewController
        destViewController.vocabData = vocab_day1p2
        destViewController.meaningData = meaning_day1p2

    }

}

我认为使用发件人是解决方案的关键,

请让我知道什么是最好的解决方案。

谢谢。

0 个答案:

没有答案