[英]Use entered text from view in other view in Swift (Xcode 6)
我对 Swift 和 Xcode 几乎完全陌生,所以请原谅我缺乏这方面的知识。 目前我有一个带有标签的视图控制器。 我想在此之前添加一个视图,带有用户输入名称的文本字段,然后应用程序转到带有标签的第二个视图,其中用户输入的名称放置在标签上。
我知道这是非常基本的,但我找不到任何好的解决方案,因为我不太确定要搜索什么。 如果有人有一段代码或一个好的来源的链接,我很乐意看到它。
谢谢!
编辑:我真的对此知之甚少。 使用两个视图时是否需要导航控制器? 我需要两个 ViewController.swift 文件吗?
以下是您通过 12 个简单步骤完成的方法:
1) 是的。 我建议使用Navigation Controller
。 使用Single View Application开始一个新项目。
2) 在 Storyboard 中选择ViewController
并从上方的菜单栏中选择Editor->Embed In->Navigation Controller
。
3) 拖出一个UIButton
和一个UITextField
并将它们放在你的第一个ViewController
。
4) 您需要一个IBOutlet
到您的文本字段,以便您可以从中读取文本。 单击Xcode右上角的Tuxedo图标,显示 Assistant 编辑器。 单击 Storyboard 中的ViewController
。 右侧的编辑器窗格将显示ViewController
的代码。 按住Control键并从文本字段拖动到右侧窗格中的代码。 当您位于class ViewController : UIViewController {
下方的空间时,松开鼠标按钮class ViewController : UIViewController {
。 在弹出窗口中,将Connection设置为Outlet ,将名称设置为textField
并按Connect 。 这将添加行@IBOutlet weak var textField: UITextField!
到您的ViewController
。
5) 现在是添加第二个视图控制器的时候了。 从菜单中选择File->New->File...
。 在对话框中,确保在左侧选择iOS下的Source ,然后选择Cocoa Touch Class并按Next 。 将类命名为SecondViewController
并使其成为UIViewController
的子类。 按下一步,然后创建。
6) 在 Storyboard 中,拖出一个UIViewController
并将其放到第一个ViewController
的右侧。 选择新的ViewController
并通过单击Tuxedo图标下方图标行中从左侧开始的第三个图标打开Identity Inspector 。 (提示:如果您将鼠标悬停在图标上,它会告诉您它们的作用)。 将类更改为SecondViewController
。
7) 在 Storyboard 中,从第一个ViewController
的按钮控制拖动(按住控制并拖动)到新的SecondViewController
。 在弹出窗口中选择Show as the Action Segue 。
8) 拖出一个Label并将其放入SecondViewController
。 像您在步骤 4 中所做的那样向其中添加一个IBOutlet
并将其命名为mylabel 。
9) 在SecondViewController
的代码中添加一个新的实例变量,如下所示: 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)是最简单的。 一个例子在这里:
如果您使用 Google 搜索 Swift 和 Segue,您可能会找到更多示例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.