Ios 准备segue时无法将数据传递到中的其他视图控制器

Ios 准备segue时无法将数据传递到中的其他视图控制器,ios,swift,uiviewcontroller,uistoryboardsegue,Ios,Swift,Uiviewcontroller,Uistoryboardsegue,我试图将一个对象传递给另一个视图控制器,但在尝试设置视图控制器对象的属性时出错 名为ViewController的类需要一个名为data的公共变量 您的ViewController类可以如下所示: class ViewController: UIViewController { // This is your public accessible variable you can set during a seque var data: String? override

我试图将一个对象传递给另一个视图控制器,但在尝试设置视图控制器对象的属性时出错


名为ViewController的类需要一个名为data的公共变量

您的ViewController类可以如下所示:

class ViewController: UIViewController {

    // This is your public accessible variable you can set during a seque
    var data: String?

    override func loadView() {
        super.loadView()
        print(self.data)
    }

}
此外,您的prepareForSegue函数也可以这样简化

if let displayTodoVC = segue.destinationViewController as? ViewController {
    displayTodoVC.data = "Hello World"
}

这个错误提供了相当多的信息。它表示类ViewController没有称为data的公共或内部属性。您必须在类ViewController中声明名为data的属性

ViewController显然缺少名为data的字符串变量

我还建议您在PrepareForegue中使用destinationViewController的有条件展开

对于以后的帖子,请不要发布代码的图片。您应该在问题中包含代码作为文本

快乐编码:


能否添加另一个ViewController的代码以供参考?
class ViewController: UIViewController {

  var data: String?

}
class ViewController : UIViewController {

    var data: String? // Make sure you have this defined in your view controller.
}
prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

    if let viewController = segue.destinationViewController as? ViewController {

        viewController.data = "Hello World"
    }
}