gpt4 book ai didi

ios - 应用程序不会注册从第一个 ViewController 传递的值

转载 作者:行者123 更新时间:2023-11-29 00:50:03 25 4
gpt4 key购买 nike

我想做的是从第一页要求一个名字(输入)。第二页用于点击一个按钮,该按钮根据您点击的按钮设置输出的属性。第三页是输出页面(顶部带有标签的背景)。

在应用程序的版本中,它可以与两个 ViewController(新版本中的第一个和第三个)一起正常工作。

所以基本上您输入一个名称(第 1 页),点击一个按钮(第 2 页)并生成输出(第 3 页)。我不能做的是将数据从第一个 ViewController 传递到第三个 View Controller。

这是第一页(selectImage 是第二页):

 @IBOutlet weak var firstName: UITextField!

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "selectImage" {
if let nextPage = segue.destinationViewController as? Results {
nextPage.receivedFirstName = firstName.text!
}
}
}

第 2 页(没有任何值并将 segue [从点击按钮] 传递到第 3 页):

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let newVC: Results = segue.destinationViewController as! Results
print("xxx ,%s", segue.identifier)
newVC.receivedImage = segue.identifier!
}

第3页(从第1页和第2页取值并显示):

var receivedFirstName = String()
var receivedImage = String()

这是布局:

http://i.imgur.com/ewpM07a.png

提前致谢。我是一个菜鸟,大部分时间我都在谷歌上搜索,所以如果我要你澄清它的意思,请耐心等待。真的,谢谢。

最佳答案

这样想。

  • 第 1 页有一个名称。它将这个名称赋予第 2 页。
  • 第 2 页有一张图片。它将此图像提供给第 3 页。
  • 第 3 页需要名称和图像。

问题在于名称永远不会从第 2 页传递到第 3 页。因此,第 3 页对此一无所知,这可能就是您看不到它的原因。

您可以在第二个 View Controller 上尝试以下操作,假设您创建了必要的变量来启用它 (firstName)。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let newVC: Results = segue.destinationViewController as! Results
print("xxx ,%s", segue.identifier)
newVC.receivedFirstName = firstName.text!
newVC.receivedImage = segue.identifier!
}

此外,您可能想查看您的 receivedImage 值,因为您正在为其设置 segue.identifier,这可能不是您想要的。

关于ios - 应用程序不会注册从第一个 ViewController 传递的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38238416/

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