gpt4 book ai didi

xcode - 准备 Segue 后 UiTextField 没有变化

转载 作者:行者123 更新时间:2023-11-30 13:53:53 25 4
gpt4 key购买 nike

当我转向下一个 ViewController 时,我遇到了一个奇怪的小问题。我已经设置了它,以便当我继续时它应该更改下一个 ViewController 的 TextField 但由于某种原因它不是。 Segue 有效,但 TextField 没有改变。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "Edit" {
let cell = sender as! UITableViewCell
let indexPath = TaskTableViews.indexPathForCell(cell)
let itemController: TaskManager = segue.destinationViewController as! TaskManager
let nItem: List = frc.objectAtIndexPath(indexPath!) as! List
itemController.nItem = nItem
}
if (segue.identifier == "Give") {
let itemController : TaskManager = segue.destinationViewController as! TaskManager
itemController.addTaskText = "Great"

}

}

这是我的第二个ViewController的ViewDidLoad..

// View Did Load
override func viewDidLoad() {
super.viewDidLoad()

if nItem != nil {
addTask.text = (nItem?.taskName)!
}

addTask.placeholder = "Title ..."
addTaskText = addTask.text!

最佳答案

检查您是否确实使用相关标识符执行segue,并查看prepareForSegue。如果像下面的代码一样它应该可以工作。另外,在第二个 ViewController 中,您可以在 viewDidLoad 的 textField 中设置文本。只需确保数据实际上是从第一个 ViewController 传递到第二个 ViewController

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

if segue.identifier == "Great" {

let itemController = segue.destinationViewController as! YourDestinationViewController
itemController.someStringVariable = "Great"
}

}

在第二个 ViewController 中,您可以声明一个变量,该变量将在 segue 期间获取其值,然后使用该变量的值来设置 textField 的文本,如下所示:

var someStringVariable: String!

override func viewDidLoad() {
super.viewDidLoad()

//Check if the value has been set to your string and if it has set it to be the textField's text
if someStringVariable != nil {

textField.text = someStringVariable
}
}

关于xcode - 准备 Segue 后 UiTextField 没有变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33905462/

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