Swift3使用segue,如果想要两种数据类型

时间:2017-08-11 05:16:02

标签: swift3 segue

use the segue.  view A is two data to the view B, in the view B show two type data. one is a point. like: 75. the two is some words.like: "that's cool. you get that, good job!" 


@IBAction func nextPart(_ sender: UIButton) {

    performSegue(withIdentifier: "aSegueB", sender: myPoint)
    performSegue(withIdentifier: "aSegueB", sender: myText)
    }


override func prepare(for segue: UIStoryboardSegue, sender: Any!) {
    if segue.identifier == "aSegueB"{
        if let two = segue.destination as? twoView{
        two.oneViewNumber = sender as! Int!
         two.oneViewText = sender as! String!
        }
    }
}

使用segue。我使用一种类型的日期是好的。但是,如果我使用两种日期类型,它就会被破坏。告诉我为什么?怎么做?非常感谢你!

1 个答案:

答案 0 :(得分:0)

调用performSegue(withIdentifier两次以发送两个参数将永远不会有效。但由于sender的类型为Any,您还可以发送数组。

顺便说一句,您的prepare(for segue签名是错误的,sender是标准的可选(?

@IBAction func nextPart(_ sender: UIButton) {
    let parameters : [Any] = [myPoint, myText]
    performSegue(withIdentifier: "aSegueB", sender: parameters)
}


override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "aSegueB", let two = segue.destination as? twoView {
        two.oneViewNumber = sender[0] as! Int
        two.oneViewText = sender[1] as! String
    }
}