从另一个.swift文件读取/写入一个变量

问题描述:

我有两个ViewControllers和两个.swift类文件。从另一个.swift文件读取/写入一个变量

事情是我有一个在第一个ViewController中声明的变量,它将填充用户在第一个视图中输入的值。但是,然后我想在另一个视图中显示该值(即时通讯使用标签栏控制器)。

但问题是我不知道如何从SecondViewController.swift参考变量,因为变量在FirstViewController.swift

+0

欢迎使用OS!如果你可以提供你的代码,你可以从别人那里获得更多的帮助。没有可重复的数据和代码通常很难看到发生了什么。 – jazzurro 2014-09-28 15:33:32

+0

我有很多代码,因为我从JSON格式的网站获取天气。但事情是在FirstViewController我有一个textField,我想显示在另一个ViewController用户输入的值。两个viewController都通过标签栏控制器 – LPS 2014-09-28 18:35:55

+0

感谢您的帮助! – LPS 2014-09-28 19:05:22

+0

享受。如果您遇到问题,请发布代码。 – 2014-09-28 19:06:10

宣布有移动数据两种常用的方法。如果您只想将实例数据(ViewController1的当前实例)移动到ViewController2,则可以通过segue和prepareForSegue函数传递数据。这是学习最重要的要点之一。我将链接到下面的一些教程。请记住,Xcode 6已经发展并且语法可能会稍微改变。因此,对于函数prepareForSegue,您需要在文档中通过命令单击swift文件中的“prepareForSegue”来查找它,它会将您带到可以剪切粘贴的文档中。

http://makeapppie.com/2014/07/01/swift-swift-using-segues-and-delegates-in-navigation-controllers-part-1-the-template/

http://bharathnagarajrao.wordpress.com/2014/06/17/swiftly-learning-swift/

来传递数据的其他常见的方法是让数据通过持久保存到一个文件中。另一组链接。我还建议去github上搜索有关prepareForSegue和Swift的项目以获取更多示例。

+0

连接感谢您的答案。即时通讯阅读教程,以使用PrepareForSegue功能,但主要的例子是使用导航控制器,但在我的项目即时通讯使用Tab Bar控制器。你知道如何用标签栏实现该方法吗? – LPS 2014-09-28 18:33:45

+0

好的,在标签栏上,当你来回打开之前打开的那个视图的实例,并且不会延续到一个新的实例。您可以使用协议/委托方法共享信息,也可以将数据保存到文件并检索。 – 2014-09-28 18:39:27