我目前正在教自己swift和xcode来制作应用程序,但我仍然处在一个部分,因为我如何从用户那里获得输入,所以例如我将如何设置文本字段,比当用户输入内容时,我把它们放入其中并将其显示在其他地方?有人可以给我一个如何执行此操作的示例,或者在哪里找到有关如何执行此操作的信息的链接。
谢谢。答案 0 :(得分:2)
您可以使用prepareForSegue
。
示例代码:
当您想输入用户名时的第一个视图:
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var textF: UITextField!
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func button(sender: AnyObject) {
performSegueWithIdentifier("next", sender: self)
}
//segue operation
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject!) {
if segue.identifier == "next" {
// Create a variable that you want to send
var text = textF.text
// Create a new variable to store the instance of SecondViewController
let destinationVC = segue.destinationViewController as! SecondViewController
destinationVC.stringFromFirst = text
}
}
}
在您要显示用户名的第二个视图中:
import UIKit
class SecondViewController: UIViewController {
@IBOutlet weak var lbl: UILabel!
//This instance will hold value from firstView
var stringFromFirst: String?
override func viewDidLoad() {
super.viewDidLoad()
lbl.text = "Hello \(stringFromFirst!)"
// Do any additional setup after loading the view.
}
}
HERE是更多信息的示例项目。
<强>更新强>
正如您的错误所说:
原因:&#39; Receiver()没有 带标识符的segue&#39; next&#39;&#39;
表示您的secondViewController
没有带有标识符名称的segue&#34; next&#34;。
单击您的segue并转到属性检查器并为您的segue提供标识符,如下图所示:
浏览我的示例项目,您将很容易理解。