prepareForSegue()方法

时间:2017-08-15 13:35:27

标签: ios swift

我们使用import方法将数据从prepareForSegue()发送到FirstViewController。 但是,这是SecondViewController方法。这意味着override类从FirstViewController类继承此方法。

此方法在UIViewController类中的任务是什么?

为什么我们不在UIViewController版本中调用super.prepareForResult()方法?

2 个答案:

答案 0 :(得分:1)

来自Apple文档

  

此方法的默认实现不执行任何操作。

这意味着超类实现什么都不做,不需要覆盖像

这样的方法
super.prepareForReuse()

实际上它就像模板方法模式。 "别打电话给我们,我们会打电话给你"。 UIViewController类在需要时调用此方法,子类覆盖它并添加实现。

答案 1 :(得分:-2)

我曾经使用prepareForSegue但后来我意识到这太麻烦了。而只需创建您想要在导入的上方/下方直接发送的变量,如下所示:

import UIKit

var myVariable = "Hello"

class ViewController: UIViewController{...

然后该变量将可从任何视图控制器访问,而无需使用segue。

例如,在按钮操作中(在相同的视图控制器中,我想说)我可以说:

myVariable = "Goodbye"

然后我可以进入我的其他视图控制器,在viewDidLoad或您想要访问变量的任何地方,您可以编辑变量或执行任何操作,例如:

viewDidLoad{
print(myVariable)
// Goodbye
}