准备 segue 时无法将数据传递给另一个视图控制器
Can't pass data to another view controller in when preparing for segue
我试图将一个对象传递给另一个视图控制器,但是当我尝试设置视图控制器对象的 属性 时出现错误。
您拥有的名为 ViewController
的 class 需要有一个名为数据的 public 变量。
您的 ViewController
class 可能看起来像这样:
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"
}
错误信息非常丰富。它说 class ViewController
没有 public 或称为 data
的内部 属性。您必须在 class ViewController
.
中声明一个名为 data
的 属性
class ViewController: UIViewController {
var data: String?
}
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
的 class 需要有一个名为数据的 public 变量。
您的 ViewController
class 可能看起来像这样:
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"
}
错误信息非常丰富。它说 class ViewController
没有 public 或称为 data
的内部 属性。您必须在 class ViewController
.
data
的 属性
class ViewController: UIViewController {
var data: String?
}
ViewController
显然缺少一个名为 data
.
class ViewController : UIViewController {
var data: String? // Make sure you have this defined in your view controller.
}
我还建议您在 prepareForSegue
.
prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if let viewController = segue.destinationViewController as? ViewController {
viewController.data = "Hello World"
}
}
对于以后的帖子,请不要发布代码图片。您应该在问题中包含代码作为文本。
编码愉快:)