gpt4 book ai didi

ios - 在 NSIndexPath 上意外发现 nil 运行时错误

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

我试图在点击按钮时获取对包含按钮的单元格的引用,但它抛出了一个不应该的错误。

fatal error: unexpectedly found nil while unwrapping an Optional value
(lldb)

我正在检查它的可选值是否为 nil,如果不是,然后它会抛出运行时错误..

func buttonReleased(button: UIButton){
let pointInTable: CGPoint = button.convertPoint(button.bounds.origin, toView: self.tableView)
var path = myTableView.indexPathForRowAtPoint(pointInTable)

if let cell = self.myTableView.cellForRowAtIndexPath(path!) as? MainListTableViewCell {
println("test")
} else {
println("it didn't work, let's think about why")
}
}

我该如何解决这个问题?

最佳答案

 var cell = self.myTableView.cellForRowAtIndexPath(path!) 
as MainListTableViewCell

想想你知道什么和不知道什么。你知道 path 不是零。但这就是你所知道的。您的代码做出了许多其他假设。 cellForRowAtIndexPath 返回一个 Optional。您假设那个特定路径cellForRowAtIndexPath不为零。并且您进一步假设它返回的单元格是 MainListTableViewCell。与其假设,不如以这样一种方式编写代码,即在展开 Optional 之前检查其中的每一件事。

所以,您可以这样编写代码:

 if let cell = self.myTableView.cellForRowAtIndexPath(path!) 
as? MainListTableViewCell {
// ... safe to use cell here
} else {
println("it didn't work, let's think about why")
}

关于ios - 在 NSIndexPath 上意外发现 nil 运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28258152/

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