我有两个ViewControllers,两个都带有.swift类文件。
事情是我在第一个ViewController中声明了一个变量,它将填充用户在第一个视图中输入的值。但后来我想在另一个视图中显示该值(我使用标签栏控制器)。
但问题是我不知道如何从SecondViewController.swift引用该变量,因为该变量是在FirstViewController.swift中声明的
答案 0 :(得分:0)
移动数据有两种常用方法。如果您只想将实例数据(ViewController1的当前实例)移动到ViewController2,您将通过segue和prepareForSegue函数传递数据。这是最重要的丁字裤之一。我将链接到下面的一些教程。请记住,Xcode 6已经发展,语法可能略有变化。因此,对于函数prepareForSegue,您需要通过命令在文档中查找它 - 单击" prepareForSegue"在你的swift文件中,它会带你到你可以剪切粘贴的文档。
http://bharathnagarajrao.wordpress.com/2014/06/17/swiftly-learning-swift/
传递数据的另一种常用方法是通过保存到文件来保持数据的持久性。另一组链接。我还建议去github并搜索带有prepareForSegue和Swift的项目以获取更多示例。
答案 1 :(得分:0)
用于共享数据的协议/委托方法,请参阅:
https://medium.com/swift-programming/ios-swift-protocols-and-delegates-7193f7f58b8a
http://www.raywenderlich.com/75289/swift-tutorial-part-3-tuples-protocols-delegates-table-views
使用NSCoding保存到文件,我今天早些时候发布了代码:
SWIFT How to create a NSCoding Subclass and call it from another class?
如果您想使用NSUserDefaults更简单地保存: