swift 2.0为Segue不起作用做准备



我正在尝试在我正在制作的应用程序中使用prepareForSegue。prepare for Segue必须将一个类传递给一个单独的视图控制器。这是prepareForSegue 中的代码

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
    if segue.identifier == "createPieceSegue" {
        var svc = segue.destinationViewController as DestinationViewController!
        svc.pieceBaseClass = myClass
    }
}

这些是第一个视图控制器继承自的超类:

class ViewController: UIViewController, UIPickerViewDelegate, UIPickerViewDataSource, UITableViewDataSource, UITableViewDelegate, UINavigationBarDelegate

并且目标视图控制器仅继承自UIViewController。我一直得到的错误是:UIViewController is not convertible to'DestinationViewController'因此我无法在两者之间传递数据。这个错误意味着什么?我该如何修复它?

这意味着您尚未在故事板中设置目标VC的自定义类。所以它只是一个UIViewController,而不是你的子类。

您应该能够使用可选的链接。您是否确定DestinationViewController实际上是UIViewController的子类?

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "createPieceSegue" {
    if let svc = segue.destinationViewController as? DestinationViewController {
        svc.pieceBaseClass = myClass
    }
}

最新更新