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"
}
}