我一直试图从SecondViewController访问位于我的FirstViewController类中的变量。我已经尝试从secondviewcontroller实例化firstviewcontroller但是我在这个NSCoder交易中遇到了极大的麻烦,之前的帖子似乎没有用......很可能是因为Swift不断更新' ;并打破任何旧代码或因为我无法正确称呼它......
FirstViewController中的初始化代码如下:
必需的init(编码器aDecoder:NSCoder){
super.init(coder: aDecoder) fatalError("init(coder:) has not been implemented") }
现在任何帮助都会很棒。感谢
答案 0 :(得分:0)
在Swift vs Objective C中,从一个类到另一个类的对象的传递/设置值没有区别。通常在现代Swift项目中,您将使用故事板。但是这个想法是一样的。在实例化第二个viewController时,您将直接访问该viewController的属性。通常,在与第一个viewController进行通信时,您将使用协议/委托方案(研究这些方案)。下面是一个使用prepareForSegue函数访问辅助viewController属性的简单示例(故事板默认值)。
override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) {
if segue.identifier == "someidentifier" {
let vc = segue.destinationViewController as MySecondViewController
// vc.someProperty = someValue
}
}
编辑:请查看本教程和类似的教程。关键原则是segue.detinationViewController