gpt4 book ai didi

swift - 如何根据 didSelectRowatIndexPath 位置显示数组中的项目?

转载 作者:搜寻专家 更新时间:2023-11-01 06:17:46 26 4
gpt4 key购买 nike

我正在编写一个具有 UITableView 的应用程序。我目前为表中的单元格设置了一个 segue 设置:

var selectedRow = Int() //global variable so it can be used in both VCs
import UIKit
class TableViewController: UITableViewController {
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
performSegue(withIdentifier: "rowSelected", sender: Any?.self)
selectedRow = indexPath.row
}
}

转场工作正常。但是,在控制 viewController 的 swift 文件中(仅用于更改标签的文本)无法正常工作。这是来自该 VC 的代码:

override func viewDidLoad() {
super.viewDidLoad()
firstLabel.text = infoArray[selectedRow]
print(selectedRow)
}

infoArray 设置正确,但标签并不总是更改为正确的文本...打印 selectedRow 返回不一致的数字...如果我点击第一个单元格,它有时会返回 0,但它也会返回 1, 3、2 等...它似乎是随机的,并且没有正确返回当前的 int(因此标签文本设置不正确)。这是为什么?

最佳答案

您正在做的不是将信息从一个 View Controller 传递到另一个 View Controller 的方法。要传递信息,传递信息。不要在全局中删除信息,而是执行 prepare(for:sender:) ,您可以在准备时获取 segue 的目标 View Controller ,并设置目标 View Controller 的属性。

关于swift - 如何根据 didSelectRowatIndexPath 位置显示数组中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40566428/

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