【问题标题】:How to segue multiple view controllers programmatically using swift 3.0如何使用 swift 3.0 以编程方式分隔多个视图控制器
【发布时间】:2017-01-13 07:15:17
【问题描述】:

我收到一个错误:

没有带有标识符“dest1”的segue

而我所做的是:

  • 故事板视图控制器中的路由(ctrl+drag)-> dest1,视图控制器-> dest2
  • 在 viewController.swift 中有一个操作按钮
  • 将故事板 ID 设置为“dest1”和“dest2”

    @IBAction func Parameters(_ sender: AnyObject) {
        self.performSegue(withIdentifier: "dest1", sender: nil)
    }
    
  • 准备继续

    override func prepare(for segue: UIStoryboardSegue, sender: Any?)  {
        print("0")
        if segue.identifier == "dest1" {
            if let svc = segue.destination as? secondViewController {
                print("1")
            }
        } else if segue.identifier == "dest2" {
            if let svc = segue.destination as? reverbViewController {
                print("2")
            }
        }
    

我错过了什么?

【问题讨论】:

  • 您确定将 segue 标识符添加到情节提要中吗?该错误通常意味着当前视图控制器没有具有该标识符的segue。检查您调用 performSegue 的视图控制器是否确实有一个带有该标识符的 segue。
  • 我做了,看imgur.com/a/mL4sk
  • 这是您的故事板 ID,而不是 segue id

标签: ios swift swift3


【解决方案1】:

根据您的描述,您已将故事板 ID 设置为“dest1”和“dest2”,而您需要设置 segue 标识符。在 IB 中点击 segue 本身,并设置它的属性。

使用代码创建视图控制器时使用故事板标识符...

instantiateViewControllerWithIdentifier("myViewController")

【讨论】:

  • 我在 viewdidload 故事板中添加了这个?.instantiateViewController(withIdentifier: "dest1") 但没有用
  • 正如我上面提到的,以及迈克尔所说的,这不是 segue 标识符,而是故事板 ID。这是一个 segue 标识符 -> scott-sherwood.com/wp-content/uploads/2011/10/…
猜你喜欢
  • 2013-11-19
  • 2013-04-14
  • 1970-01-01
  • 2016-08-19
  • 2017-06-13
  • 1970-01-01
  • 1970-01-01
  • 2021-04-28
  • 2018-06-25
相关资源
最近更新 更多