gpt4 book ai didi

ios - indexPathForSelectedRow 返回意外的 nil

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

我有一个名为 Objects 的数组,它是 NSManagedObject 的子类,并在 UITableView 中显示它们的属性。

我有一个 segue 来查看对象的详细信息,这是使用手势执行的 - 在我使用 prepareForSegue 传递 UITableViewCell 的数据之前,它工作正常> 到 segueing ViewController。但是当使用 让 indexPath = self.table.indexPathForSelectedRow,我得到了所选行的 nil 值,因此应用程序在尝试传递数据时崩溃。这是一个包含完整代码的示例:

if segue.identifier == "showDetails" {
let vc = segue.destinationViewController as! DetailsViewController
let indexPath = self.table.indexPathForSelectedRow
if indexPath == nil { print(index path is NIL")}
let selectedObject = self.objects[indexPath!.row]
vc.setting = setting
vc.selectedObject = selectedObject
}

有谁知道可能出了什么问题?我在另一个 ViewController 中做了同样的事情并且工作正常。此外,我试图在选择单元格时实现另一个 segue,但我无法调用 prepareForSegue 使用函数 didSelectRowAtIndexPath 但可以在我的其他 ViewController - 我不确定此信息是否相关,或者也可能表明问题所在。

最佳答案

没有选择单元格是一个有效条件。您应该进行防御性编码来处理这种情况。您可以实现 shouldPerformSegueWithIdentifier: 方法,如果 indexPathForSelectedRow 返回 nil

,则返回 false

关于ios - indexPathForSelectedRow 返回意外的 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34699509/

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