gpt4 book ai didi

ios - 为 Unwind Segue 更新变量 (Swift)

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

我正在尝试使用 Unwinding Segue 更新先前 TableView 上的 UILabel。除了每次在我的模态上选择某些内容时我都会带回空白文本外,我一切正常。我实际上是在带回我正在创建的变量 (myName) 的“”。

但是,我想因为我正在更新我的 didSelectRowAtIndex 中的变量,所以我会把它带回来。我确实检查过在模态上选择时是否得到了一个值,我得到了。所以我认为这就像更新变量 myName 一样简单。

NewTableViewController(模态):

var myName = ""

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let row = Int(indexPath.row)
var selectedObject = objects[row] as! PFObject
var selectedName = selectedObject["myName"] as! String

myName = selectedName as String
println(myName)
}

TableViewController(源 View Controller ):

  @IBAction func unwindName(segue: UIStoryboardSegue) {
println("unwind working")
if let svc = segue.sourceViewController as? NewTableViewController {
self.myNameLabel.text = svc.myName
println(myNameLabel)
}
}

最佳答案

当您从单元格调用转场(展开或任何其他类型)时,转场将在调用 didSelectRowAtIndexPath 之前执行,因此您不应该在那里设置变量值(实际上您不需要实现)方法)。您应该在源 View Controller 中实现 prepareForSegue,并在那里设置变量的值。

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

let cell = sender as! UITableViewCell
let indexPath = self.tableView.indexPathForCell(cell)
var selectedObject = objects[indexPath.row] as! PFObject
var selectedName = selectedObject["myName"] as! String

myName = selectedName as String
}

关于ios - 为 Unwind Segue 更新变量 (Swift),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29922777/

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