在Swift的其他视图中使用从视图中input的文本(Xcode 6)

我对Swift和Xcode几乎是全新的,所以原谅我在这个领域缺乏知识。 目前,我有一个视图控制器,其中有一个标签。 在此之前,我想添加一个视图,其中用户input一个名称的文本字段,然后应用程序转到第二个视图,其中用户input的名称被放置在标签上。

我知道这是非常基本的,但我不能find任何好的解决scheme,因为我不太确定要search什么。 如果任何人有一段代码或一个好的来源链接,我很乐意看到它。

谢谢!

编辑:我对这一点知之甚less。 使用两个视图时是否需要导航控制器? 我需要两个ViewController.swift文件吗?

以下是12个简单的步骤:

1)是的。 我build议使用Navigation Controller 。 使用单一视图应用程序启动一个新项目。

2)在Storyboard中selectViewController ,然后从上面的菜单栏selectEditor->Embed In->Navigation Controller

3)拖出一个UIButton和一个UITextField并把它们放在你的第一个ViewController

4)你将需要一个IBOutlet到你的文本字段,以便你可以从中读取文本。 单击Xcode右上angular的Tuxedo图标以显示助手编辑器 。 点击故事板中的ViewController 。 正确的编辑窗格将显示ViewController的代码。 按住Ctrl键并从文本字段拖动到右侧窗格中的代码。 在class ViewController : UIViewController {下面的空间放开鼠标buttonclass ViewController : UIViewController { 。 在popup窗口中,将连接设置为出口 ,将名称设置为textField并按下连接 。 这将添加行@IBOutlet weak var textField: UITextField! 到你的ViewController

5)现在是时候添加第二个视图控制器。 从菜单中selectFile->New->File... 在对话框中,确保左边select了iOS下的Source ,然后selectCocoa Touch Class ,然后按Next 。 将类SecondViewControllerUIViewController的子类。 按下一步 ,然后创build

6)在Storyboard中,拖出一个UIViewController并将其放在第一个ViewController的右侧。 select新的ViewController并通过单击Tuxedo图标下面一排图标左侧的第三个图标打开Identity Inspector 。 (提示:如果你hover的图标,它会告诉你他们做什么)。 将该类更改为SecondViewController

7)在Storyboard中,通过控制 – 从第一个ViewController的button拖动(按住控制并拖动)到新的SecondViewController 。 在popup的select显示行动Segue

8)拖出一个标签 ,并将其放入SecondViewController 。 像在第4步中那样添加一个IBOutlet并称之为mylabel

9)在SecondViewController的代码中添加一个新的实例variables,如下所示: var firstVCtext = ""

10)在第一个ViewController添加这个方法:

 override func prepareForSegue(segue: UIStoryboardSegue!, sender: AnyObject!) { let secondVC = segue.destinationViewController as SecondViewController secondVC.firstVCtext = textField.text } 

11)在SecondViewController ,将下面这行代码添加到viewDidLoad方法: mylabel.text = firstVCtext

12)运行程序!

这里的代码和图像的另一个很好的教程:

http://www.jamesrambles.com/ios-swift-passing-data-between-viewcontrollers/

要将数据从一个视图移到另一个视图,使用segue(发音seg-way)是最简单的。 一个例子是在这里:

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

如果你是Google的Swift和Segue,你可能会find更多的例子。