所以我在Swift中编写这个segue方法,但是当我打开控制器时,它总是没有。如果没有as?
,它就会在运行时失败。怎么回事?
override func prepareForSegue(segue : UIStoryboardSegue!, sender: AnyObject!) {
if(segue.identifier == "showCoursesSegue") {
var controller = segue.destinationViewController as? EditViewController
controller!.test = true
}
}
答案 0 :(得分:1)
这对我准备segue很好。实际上尝试将控制器的类型设置为EditViewController并删除?
。
var dst: NoteViewController = segue.destinationViewController as NoteViewController
答案 1 :(得分:1)
以Swift方式做到这一点!
func prepareForSegue(segue : UIStoryboardSegue!, sender: AnyObject!) {
switch segue.identifier! {
case "showCoursesSegue":
switch segue.destinationViewController {
case let controller as EditViewController:
controller.test = true
default:
println("segue.destinationViewController is \(segue.destinationViewController)")
}
default:
println("segue.identifier is \(segue.identifier)")
}
}
答案 2 :(得分:0)
这里的问题是在IB中,ViewController还没有被设置为自定义类。我发布了一张图片,但没有足够的代表。