gpt4 book ai didi

ios - 将 tableView 单元格的 indexPath 传递给另一个 Controller

转载 作者:行者123 更新时间:2023-11-28 21:47:33 25 4
gpt4 key购买 nike

我想将 select row 作为 indexPath 传递给另一个 Controller 。为此,我编写了以下代码:

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("Cell", forIndexPath: indexPath) as UITableViewCell

let indexPath = tableView.indexPathForSelectedRow();

return cell
}


override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
var secondController: SecondViewController = segue.destinationViewController as SecondViewController
secondController.rowIndex.text = indexPath
}

但是我的 indexPath 是零。为什么?

最佳答案

在 cellForRowAtIndexPath 中,这是错误的:

let indexPath = tableView.indexPathForSelectedRow();

对于每一行,您将所选行保存在一个变量中,该变量将在 cellForRowAtIndexPath 完成后被销毁,因为它不被任何对象保留。

你只需要在 prepareForSegue 中使用它

var secondController: SecondViewController = segue.destinationViewController as SecondViewController
if let selectedIndexPath = tableView.indexPathForSelectedRow();
secondController.rowIndex= selectedIndexPath.row

尚未测试,但认为这会起作用。希望对您有所帮助。

关于ios - 将 tableView 单元格的 indexPath 传递给另一个 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29536642/

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