gpt4 book ai didi

ios - 如何在 swift 中仅使用一个 ViewController 将数据从一个 UIView 传递到另一个 UIView?

转载 作者:行者123 更新时间:2023-11-30 11:38:14 24 4
gpt4 key购买 nike

我正在创建一个简单的登录表单,当单击“登录”按钮时,文本字段中的用户名应显示在另一个 UIView 中。

如何从 UIViewA 的文本字段传递数据并将文本字段中的值显示到 UIViewB 中的标签?

只有 1 个 ViewController 可以交换 UIView,因此不需要 Segue。

这是登录 UIView 的按钮功能:

class UIView1: UIView {
@IBAction func buttontohome(_ sender: Any) {
if (usernamebox.text == username || usernamebox.text == email) && passwordbox.text == password
{
// load UIView2 and send username string to UIView2 label
}
else {
loadViewFromNib()
loginfaillabel.text = "Login failed"
}

}
}

这是第二个 UIView,登录成功后,用户名字符串应出现在其中:

 class UIView2: UIView {

@IBOutlet var labelforpassedvalue: UILabel!

var usernamelabel = String()

func viewDidLoad() {
super.viewDidLoad()
labelforpassedvalue.text = "Welcome Bob, " + usernamelabel

}
}

请帮忙...

最佳答案

我同意luk2302 ;这是有缺陷的设计,您可能需要重新考虑处理此问题的方式。

也就是说,如果您必须以这种方式进行操作,一种方法是在主 ViewController 中声明一个可选值,如下所示:

var usernameLabelText: String?

然后在调用 buttontohome 操作时更新其值:

usernameLabelText = usernamebox.text

我将让您弄清楚如何用新的 UIView 替换旧的 UIView。

关于ios - 如何在 swift 中仅使用一个 ViewController 将数据从一个 UIView 传递到另一个 UIView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49509669/

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