gpt4 book ai didi

ios - 在其他页面上进行变量转换时出错

转载 作者:行者123 更新时间:2023-12-01 17:35:35 25 4
gpt4 key购买 nike

我正在创建一个问候应用程序,用户可以输入其名称,并且该应用程序返回"Hello Jack!"

错误消息

Type 'UIViewController' has no member 'textFieldString'

由于我已经在ViewController.swift上设置了变量,因此该如何解决。
        textFieldString = textField.text!

代码

ViewController.swift

import UIKit

class ViewController: UIViewController {
@IBOutlet weak var textField: UITextField!
[![enter image description here][1]][1]
var textFieldString = ""

@IBAction func pushButton(_ sender: UIButton){
textFieldString = textField.text!
textField.text = ""
}

override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
}

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let resultViewController = segue.destination as! ResultViewController
resultViewController.result = textFieldString
}

@IBAction func unwind(_ segue: UIStoryboardSegue) {

}



}


ResultViewController.swift

import UIKit

class ResultViewController: UIViewController {
@IBOutlet weak var label: UILabel!
var result: String?

override func viewDidLoad() {
super.viewDidLoad()

label.translatesAutoresizingMaskIntoConstraints = false
label.topAnchor.constraint(equalTo: self.view.topAnchor).isActive = true
label.bottomAnchor.constraint(equalTo: self.view.bottomAnchor).isActive = true
label.leadingAnchor.constraint(equalTo: self.view.leadingAnchor).isActive = true
label.trailingAnchor.constraint(equalTo: self.view.trailingAnchor).isActive = true

label.text = "Hello\(result)! "
}
}


截图
enter image description here
enter image description here
enter image description here

最佳答案

原因:
textFieldStringViewController的属性,而不是UIViewController

解决方案:

result中创建属性ResultViewController,然后在label中将其设置为viewDidLoad()

class ResultViewController: UIViewController {
@IBOutlet weak var label: UILabel!
var result: String?

override func viewDidLoad() {
super.viewDidLoad()
//rest of the code...
label.text = "Hello\(result ?? "")" //here...
}
}

现在在 ViewController's prepare(for:sender:)方法中将 result设置为 textFieldString,即
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let resultViewController = segue.destination as! ResultViewController
resultViewController.result = textField.text
}

关于ios - 在其他页面上进行变量转换时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59838099/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com