我有一个tableview与单元格数据。当我单击单元格时,它会将我带到另一个视图控制器,并在新的ViewController上的UIlabel中显示单元格标签。Swift:在视图之间传递变量不是第一次更新
但是,当我回到tableview并选择一个不同的单元格时,新视图控制器上的值不会立即更新。它显示最后点击的单元格,然后如果我再次返回并重复该过程,它将更新。
didSelectRowAtIndexPath方法
override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
let currentCell = tableView.cellForRowAtIndexPath(indexPath)! as UITableViewCell
self.labeltosend = currentCell.textLabel!.text!
}
prepareForSegue
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == PostSegueIdentifier {
if let destination = segue.destinationViewController as? NewViewController {
destination.newlabel = labeltosend
}
}
}
我应该以某种方式重新加载数据?
编辑1:目标视图控制器
@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.
}
什么是PostSegueIdentifier? – beyowulf
一个带有segue标识符名称的变量 – JamesG
我认为创建了您控制的segue--从表视图拖动到其他视图控制器? – beyowulf