gpt4 book ai didi

ios - indexPathForSelectedRow() 的问题,返回不正确的索引。使用 swift

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

很抱歉,我是一个完全的菜鸟,但我在使用 TableView 的 didSelectRowAtIndexPath 函数中的 indexPathForSelectedRow() 时遇到了问题。

我正在尝试做的是将表格中单元格的 textLabel.text 值捕获到 NSUserDefaults 中,然后将其转换为 finalView。在 finalView 中,标签的文本将根据从 TableView 检索到的值进行更新。

这是我的 tableView 中的代码:

 override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {


let indexpath = tableView.indexPathForSelectedRow() as NSIndexPath! //supposed to get the correct index, but doesn't

let cell = tableView.cellForRowAtIndexPath(indexpath) as UITableViewCell!

captureCellVals.setObject(cell.textLabel?.text, forKey: "restoname")

//code to transfer to final view:

let view2 = self.storyboard?.instantiateViewControllerWithIdentifier("finalView") as FinalView

self.navigationController?.pushViewController(view2, animated: true)




}

现在这是 finalView 中的代码:

 class FinalView: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()


let values = NSUserDefaults.standardUserDefaults()

let restName = values.objectForKey("restoname") as String

Restaurant.text = restName


}

@IBOutlet weak var Restaurant: UILabel!

}

事实是,这确实有效。它确实在检索单元格的 textLabel.text 值,将其转换为 FinalView,并更新 Restaurant.text 以显示检索到的名称。问题是它从表中检索了不正确的名称。

例如,如果我单击餐厅名称为“Cafe France”的行,则 Restaurant.text 会更改为“Tonys Cafe”,而不是预期的“Cafe France”。我认为这是索引,但它可以是别的东西吗?非常感谢您的帮助。

最佳答案

您不需要使用letindexpath=whatever。 TableView的方法didSelectRowAtIndexPath已经有indexPath参数。

只要改变你的线路

let cell = tableView.cellForRowAtIndexPath(indexpath) as UITableViewCell!

let cell = tableView.cellForRowAtIndexPath(indexPath) as UITableViewCell!

并删除此行

let indexpath = tableView.indexPathForSelectedRow() as NSIndexPath!

NSUserDefaults 有一个特定的方法来加载存储的字符串,名为 stringForKey()

Restaurant.text = NSUserDefaults().stringForKey("restoname") ?? ""

关于ios - indexPathForSelectedRow() 的问题,返回不正确的索引。使用 swift ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29837626/

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