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。我使用一种类型日期是好的。但是,如果我使用这两种日期类型,则会被打破。告诉我为什么?怎么做?非常感谢你!Swift3使用segue,如果要两个数据类型

调用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 
    } 
} 
+0

非常感谢你。使用你的想法,现在它的工作!我的应用工作!谢谢!! – Jack2300