gpt4 book ai didi

ios - 在不同的 View Controller 中将文本从单元格移动到文本标签

转载 作者:行者123 更新时间:2023-11-28 16:13:17 26 4
gpt4 key购买 nike

我创建了一个在表格 View 中显示 10 个随机数的应用程序。这是我使用的代码

override func numberOfSections(in tableView: UITableView) -> Int {
return 1
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 10
}


override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "ShowNumber", for: indexPath)

// Configure the cell...
cell.textLabel?.text = "\(indexPath.row + 1): \(Int(arc4random_uniform(10001)))"

return cell
}

现在我希望能够单击一个单元格并转到另一个 View Controller ,并且在页面中央显示随机数。我已将 View Controller 全部设置并链接到原始 TableView 。我只是无法通过 segue 传递我的数据。这是我到目前为止所拥有的。我知道它未完成,我只是不知道该做什么。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {   
if segue.identifier == "showRandomNumber" {
let controller = segue.destination as! ShowNumberTableViewController
let selectedRow = (tableView.indexPathForSelectedRow as NSIndexPath?)?.row ?? 0
controller.LabelText =
}

LabelText 是我要将数据传递到的标签的名称,但我不知道如何传递

最佳答案

使用 indexPathForSelectedRow,您可以获得对触发 segue 的单元格的引用。然后,您可以访问该单元格中的 textLabel,获取其值,并将其传递给下一个 View Controller 。

override func prepare(for segue: UIStoryboardSegue, sender: Any?) {   
if segue.identifier == "showRandomNumber" {
let controller = segue.destination as! ShowNumberTableViewController
if let indexPath = tableView.indexPathForSelectedRow {
let cell = tableView.cellForRowAtIndexPath(indexPath) as UITableViewCell
if let textToPass = cell.textLabel.text {
controller.labelText = textToPass
}
}
}
}

然后在 ShowNumberTableViewController 中,您需要一个 var labelText,在您的 viewDidLoad() 中,您可以将它分配给该 View Controller 中的 textLabel

centerLabel.text = labelText

关于ios - 在不同的 View Controller 中将文本从单元格移动到文本标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39337775/

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