覆盖prepareForSegue不起作用

时间:2016-09-23 15:24:47

标签: ios swift

SecondViewController&#39>代码

@IBAction func ContinueFunc(_ sender: AnyObject) {
    if (NomeAziendaText.text != "" && NumeroBlocchiText.text != "" &&           NumeroMacroText.text != ""){
    nome = NomeAziendaText.text!
    na = Int(NumeroMacroText.text!)!
    nb = Int(NumeroBlocchiText.text!)!
    Azienda.inizia(name: nome, numbermacro: na, numberblocchi: nb)

        self.performSegue(withIdentifier: "next", sender: nil)
    }
    else {NomeAziendaText.text = ""
        NumeroBlocchiText.text = ""
        NumeroMacroText.text   = ""
        LabelAvvisi.text = " Inserisci tutti i valori"
}

/*
// MARK: - Navigation*/

 func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    print("pippa")

    if (segue.identifier == "next"){
        if let vc_destinazione = segue.destination as?{


            vc_destinazione.stringaDiPassaggio = nome
        }

    }

    // Get the new view controller using segue.destinationViewController.
    // Pass the selected object to the new view controller.
}`

ThirdViewController的代码

 import UIKit
 class ThirdViewController: UIViewController {
var stringaDiPassaggio: String = String()
var numero: Int = 0
@IBOutlet var Bottone: UIButton!
@IBOutlet var myLabel: UILabel!
override func viewDidLoad() {
    super.viewDidLoad()
  print(stringaDiPassaggio)
    // Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}
    @IBAction func FunzioneBottone(_ sender: AnyObject) {

}

}`

为什么没有数据从SecondViewController传递到ThirdViewController? 如果我重写方法PrepareFor segue它会显示一个错误,表示我没有覆盖任何超类方法

请帮帮我

2 个答案:

答案 0 :(得分:1)

确保已连接视图控制器并更正此

          performSegueWithIdentifier("next", sender: self)

然后纠正这个

 if (segue.identifier == "next"){
    if let vc_destinazione = segue.destination as! ThirdViewController {


        vc_destinazione.stringaDiPassaggio = nome
    }

}

答案 1 :(得分:1)

签名应为

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
}

你有

func prepare(for segue: ...