2017-08-11 48 views
0
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,如果要兩個數據類型

回答

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

非常感謝你。使用你的想法,現在它的工作!我的應用工作!謝謝!! – Jack2300

相關問題