gpt4 book ai didi

ios - Swift:在 View 之间传递变量而不是第一次更新

转载 作者:行者123 更新时间:2023-11-28 10:21:03 27 4
gpt4 key购买 nike

我有一个包含单元格数据的表格 View 。当我单击单元格时,它会将我带到另一个 View Controller 并在新 ViewController 的 UIlabel 中显示单元格标签。

但是,当我返回到 TableView 并选择不同的单元格时,新 View Controller 上的值不会立即更新。它显示最后单击的单元格,然后如果我返回并再次重复该过程,它将更新。

didSelectRowAtIndexPath

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let currentCell = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell

self.labeltosend = currentCell.textLabel!.text!
}

准备转场

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == PostSegueIdentifier {
if let destination = segue.destinationViewController as? NewViewController {
destination.newlabel = labeltosend
}
}
}

我应该以某种方式重新加载数据吗?

编辑 1:目标 View Controller

@IBOutlet weak var dispLabel: UILabel!
var newlabel = String()

override func viewWillAppear(animated: Bool) {
dispLabel.text = newlabel
}

override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.

}

最佳答案

prepareForSegue(_:sender) 如果您将 segue 从单元格绘制到下一个 View Controller ,则不会调用。尝试从 View Controller 绘制 segue 到 View Controller 。并在 tableView(_:didSelectRowAtIndexPath:indexPath) 中使用 performSegueWithIdentifier("MySegueIdentifier"sender:self) 执行手动转场。有关更多信息,请查看此 answer .

关于ios - Swift:在 View 之间传递变量而不是第一次更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35094394/

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