【问题标题】:Use of unresolved identifier 'segue'使用未解析的标识符“segue”
【发布时间】:2018-08-24 08:33:50
【问题描述】:

我正在尝试使用以下代码将我的数据从 ViewController 导出到另一个:

   func prepare(for: UIStoryboardSegue, sender: AnyObject?){
   let desty : EndViewController = segue.destinationViewController as! EndViewController 
   desty.totalScore = scoreTotal.text!
   }

但是当我尝试这样做时,我会遇到错误: [使用未解析的标识符“segue”] 但我已经完成了,你可以在这里看到:image 那我该如何解决。 如果您能帮助我,我将不胜感激。 请帮助一个年轻的程序员学习。

【问题讨论】:

  • 您的方法签名错误,您没有参数名称segue。也许你打算实现prepare(for segue: UIStoryboardSegue, sender: Any?)
  • @johan 那我应该怎么改呢?

标签: ios swift swift4 ios11 xcode9


【解决方案1】:

首先,如下执行你的转场:

self.performSegue(withIdentifier: "YourSegueID", sender: self)

现在,调用 prepareForSegue 并相应地更改目标中的值:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "YourSegueID" {
        let vc = segue.destination
        vc.yourVariable = "Some Value"
    }
}

【讨论】:

  • 我试着像这样更正它: func prepare(for: UIStoryboardSegue, sender: Any?){ self.performSegue(withIdentifier: "segue", sender: self) if segue.identifier == " segue" { let vc : EndViewController = segue.destinationViewController vc.totalScore = scoreTotal.text!} } 但它让我回到同样的错误
  • 它是一种覆盖方法。您是否插入了 override 关键字?方法定义的格式必须是 override func prepare(for segue: UIStoryboardSegue, sender: Any?)
  • 请关注我之前的评论。
  • override func prepare(for segue: UIStoryboardSegue, sender: Any?)
【解决方案2】:

您使用了错误的功能。应该是……

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
    if segue.identifier == "segue" {

    }
}

【讨论】:

    【解决方案3】:

    第一个参数中缺少内部参数标签segue,第二个参数类型错误。

    请使用代码完成

    • 注释掉你的整个方法

      // func prepare(for: UIStoryboardSegue, sender: AnyObject?){
      //   let desty : EndViewController = segue.destinationViewController as! EndViewController 
      //   desty.totalScore = scoreTotal.text!
      //   }
      
    • 输入prep,你会看到

    • 选择正确的行并按return
    • 将前一种方法的主体复制到新方法中。

    【讨论】:

      猜你喜欢
      • 2018-03-12
      • 1970-01-01
      • 1970-01-01
      • 2016-02-25
      • 2016-07-17
      • 2016-04-29
      • 2017-02-27
      相关资源
      最近更新 更多