swift - 是否可以为 2 个不同的 View Controller 准备 2 次 segue?

标签 swift uibutton segue

我是一个快速的初学者,我正在为我的第一个应用程序而苦苦挣扎。抱歉,如果我的问题太基础了,但我在此处的代码中收到一条错误消息:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    let secVC: NavigationViewController = segue.destinationViewController as! NavigationViewController // here is the error
    secVC.receiveImeNaSladkarnica = Label1.text!
    secVC.KordaA = Shirina.text!
    secVC.KordaB = Duljina.text!
    secVC.PodImeNaObekt = Label2.text!

我创建了 2 个不同的按钮:Navi Me 和更多信息按钮。

第一个 (Navi Me) 与另一个名为 NavigationViewContorller 的 View Controller 相连,我通过使用 prepare for segue 发送我需要的所有数据。一切都很完美,但现在我创建了另一个名为 (MoreInfo) 的按钮。它与名为 MoreInfoViewController 的第三个 View Controller 相连。我想我已经连接好一切,但是当我点击 MoreInfo 按钮时应用程序停止工作并且我收到以下错误:Thread 1: signal SIGBART in the marked line。我不明白为什么当这个 segue 用于另一个 View Controller 时它会中断,nt 用于 MoreInfoViewController。你能告诉我该怎么做或给我一个如何修复它的例子吗

我试过:

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?)
{
    switch segue.identifier {
 //error here->       case "VC1" :
        let secVC: NavigationViewController = segue.destinationViewController as! NavigationViewController
        secVC.receiveImeNaSladkarnica = Label1.text!
        secVC.KordaA = Shirina.text!
        secVC.KordaB = Duljina.text!
        secVC.PodImeNaObekt = Label2.text!

  //error here ->       case "VC2" :
        let secVC2: MoreInfoViewController = segue.destinationViewController as! MoreInfoViewController
        secVC2.receiveImeNaSladkarnica = Label1.text!
        secVC2.KordaA = Shirina.text!
        secVC2.KordaB = Duljina.text!
        secVC2.PodImeNaObekt = Label2.text!

    default:
        break

还是不行

最佳答案

每个 segue 都应该有一个唯一的字符串标识符。
对于多个 View Controller ,使用 switch 语句

switch segue.identifier {
    case "vc1" : 
       // prepare to go to vc1
    case "vc2" : 
       // prepare to go to vc2
    default : break
}

再次重申我昨天的评论:

既然你是 Swift 的初学者,请先学习考虑变量名以小写字母开头的命名约定。

关于swift - 是否可以为 2 个不同的 View Controller 准备 2 次 segue?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39678152/

相关文章:

ios - UILabel 下边框和右边框

ios - UITabBarController:未为所有子选项卡调用 viewDidLoad

ios - 通过单元格中的辅助功能标识符访问 UIButton

ios - Swift ios 不确定如何连接或使用嵌入式 UIPageViewController

ios - swift tableviewcell 按钮图像问题

ios - 在 native iOS设置中更改位置权限时收到通知

ios - 设置背景图像 :forState: animation/transition?

ios - 为什么在从另一个页面传递值之前,UILable 不会显示?

swift - performSegueWithIdentifier 导致崩溃

ios - 通过 segue 传递对象