【发布时间】:2016-09-28 03:48:07
【问题描述】:
【问题讨论】:
-
能否添加另一个ViewController的代码供参考?
标签: ios swift uiviewcontroller uistoryboardsegue
【问题讨论】:
标签: ios swift uiviewcontroller uistoryboardsegue
ViewController 显然缺少一个名为 data 的字符串变量。
class ViewController : UIViewController {
var data: String? // Make sure you have this defined in your view controller.
}
我还建议您在prepareForSegue 中使用destinationViewController 的条件解包。
prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let viewController = segue.destinationViewController as? ViewController {
viewController.data = "Hello World"
}
}
对于以后的帖子,请不要发布代码图片。您应该在问题中包含代码作为文本。
编码愉快:)
【讨论】:
这个错误信息量很大。它说类ViewController 没有称为data 的公共或内部属性。您必须在 ViewController 类中声明一个名为 data 的属性。
class ViewController: UIViewController {
var data: String?
}
【讨论】:
您拥有的名为 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"
}
【讨论】: