gpt4 book ai didi

ios - 如何在 segue 之前更新选定的行?

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

我需要将一个包含一个 View 中所选行索引的变量传递到下一个 View 。

firstview.swift

var selectedRow = 0;

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
selectedRow = indexPath.row + 1
}

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "viewAssignmentsSegue") {
let navController = segue.destinationViewController as! UINavigationController
let controller = navController.viewControllers[0] as! AssignmentsViewController
print(selectedRow)
controller.activeCourse = selectedRow
}
}

我的问题是,当选择一行时,selectedRow 变量在转场发生之前不会被 tableView 方法更新,这意味着该值本质上是总是落后于应有的水平。我怎样才能延迟prepareForSegue直到变量被更新或者我怎样才能成功地将选定的行传递到下一个 View 而不延迟?

最佳答案

一种可能性:不要实现 didSelectRowAtIndexPath:。只需将该功能移动到您的 prepareForSegue 实现中即可。毕竟,这就是响应您点击电池的第一个调用。即使在 prepareForSegue 中,您也可以询问 TableView 选择了哪一行。

另一种可能性:实现 willSelectRowAtIndexPath: 而不是 didSelectRowAtIndexPath:。它发生得更早。

关于ios - 如何在 segue 之前更新选定的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109152/

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