我是新来的Xcode和idk为什么我有这个错误,有人可以帮我这个吗?非常感激。这基本上是为了让用户输入他们给出的验证码,它将根据特定代码显示一条消息。
VerificationController
import UIKit
class VerificationController: UIViewController {
@IBOutlet var verification: UITextField!
@IBAction func enter(_ sender: Any) {
if verification.text != ""
{
if verification.text == "123"
{
performSegue(withIdentifier: "segue", sender: self)
}
else if verification.text == "234"
{
performSegue(withIdentifier: "segue", sender: self)
}
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
SecondController
import UIKit
class SecondViewController: UIViewController {
@IBOutlet var label: UILabel!
var myString1 = "Hello 123"
var myString2 = "Hello 234"
override func viewDidLoad() {
super.viewDidLoad()
if (VerificationController().verification.text! == "123")
{
label.text = myString1
}
else if (VerificationController().verification.text! == "234")
{
label.text = myString2
}
// Do any additional setup after loading the view.
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
答案 0 :(得分:2)
您需要将验证文本传递给 prepare(forSegue)方法中的SecondViewController
并访问相同的内容:
在VerificationController
:
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if segue.identifier == "segue" {
let secondVC = segue.destination as! SecondViewController
secondVC.verificationText = verification.text
}
}
然后在SecondViewController
:
var verificationText:String?
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
if (verificationText == "123")
{
label.text = myString1
}
else if (verificationText == "234")
{
label.text = myString1
}
}
希望它有所帮助!