我是初学者,我正在努力完成我的第一次申请。很抱歉,如果我的问题太基础了,但我的代码中收到错误消息:
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和More Info按钮。
第一个(Navi Me)与另一个名为NavigationViewContorller的视图控制器连接,在那里我使用prepare for segue发送我需要的所有数据。一切都很完美,但现在我创建了另一个名为(MoreInfo)的按钮。它与名为MoreInfoViewController的第三个视图控制器连接。我认为我已将所有内容连接起来,但是当我点击MoreInfo按钮时,应用程序停止工作,我收到以下错误:线程1:在标记的行中发出SIGBART信号。当这个segue用于另一个视图控制器时,我无法理解为什么它会断开,对于MoreInfoViewController来说是nt。你能告诉我该怎么做或给我一个如何解决它的例子
我试过了:
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
它仍然不起作用
答案 0 :(得分:2)
每个segue都应该有一个唯一的字符串标识符
对于多视图控制器,请使用switch
语句
switch segue.identifier {
case "vc1" :
// prepare to go to vc1
case "vc2" :
// prepare to go to vc2
default : break
}
我昨天再次发表评论:
由于您是Swift的初学者,请首先考虑变量名称以小写字母开头的命名约定。