从Swift 2中的父控制器访问Container视图控制器

时间:2016-06-23 20:08:01

标签: ios swift

我想从父视图控制器访问容器视图控制器的标签。我尝试过以下方法:

prepareForSegue是父视图控制器中的一个函数。 ViewController2是容器视图控制器。 parin2是容器视图控制器中标签的名称。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!)
{
    let vc1 = segue.destinationViewController as! ViewController2;
    vc1.parin2.text=String("helo");
}

这会出现以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

1 个答案:

答案 0 :(得分:1)

你没有确切地说哪条行导致错误,但我的猜测是它是select msg_id,msg_from,msg_to,msg_content,msg_status,msg_created_at, (select user_name from users where user_id = msg_from ) user_name from messages where msg_id in (select max(msg_id) from messages ) and (msg_to = 35 or msg_from = 35) (顺便说一句,请省略Swift中的';')。 let vc1 = segue.destinationViewController as! ViewController2似乎失败,因为目标视图控制器不是as!。要验证这一点,请在该行上设置断点,然后检查segue的ViewController2属性以查看它是什么类型的视图控制器。如果它 destinationViewController,则问题出在您的故事板中。您要么得到一个您没想到的segue,要么故事板中的目的地类不是ViewController2

处理ViewController2的更好模式如下:

prepareForSegue