我正在尝试在我正在制作的应用中使用prepareForSegue
。 prepare forSegue必须将类传递给单独的视图控制器。以下是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'
因此我无法在两者之间传递数据。这个错误意味着什么,我该如何解决?
答案 0 :(得分:1)
这意味着您没有在故事板中设置目标VC的自定义类。所以它只是一个UIViewController,而不是你的子类。
答案 1 :(得分:0)
您应该可以使用可选链接。你确定DestinationViewController实际上是UIViewController的子类吗?
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "createPieceSegue" {
if let svc = segue.destinationViewController as? DestinationViewController {
svc.pieceBaseClass = myClass
}
}