我们使用import
方法将数据从prepareForSegue()
发送到FirstViewController
。
但是,这是SecondViewController
方法。这意味着override
类从FirstViewController
类继承此方法。
此方法在UIViewController
类中的任务是什么?
为什么我们不在UIViewController
版本中调用super.prepareForResult()
方法?
答案 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
}