gpt4 book ai didi

swift - fatal error : Array index out of range with many tap Swift

转载 作者:行者123 更新时间:2023-11-30 13:42:01 24 4
gpt4 key购买 nike

当我在 TableView 中的一个单元格上仅点击一次时,它非常适合另一个 View Controller 。但是,如果我在移动到另一个 View Controller 之前快速点击单元格两次、三次或更多次。

将显示数组索引超出范围的错误并突出显示“let labelTitle = self.resultsTitleArray[indexPath.row]”。我尝试在 performSegueWithIdenitifier 之前使用 self.view.userInteractionEnabled = false 和在 performSegueWithIdenitifier 之后使用 self.view.userInteractionEnabled = true >。但还是不行。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if (segue.identifier == "moreDetail"){
let viewController = segue.destinationViewController as! ProductDetailViewController

let indexPath = self.resultsTable.indexPathForSelectedRow!
let labelTitle = self.resultsTitleArray[indexPath.row]
viewController.labelTitleText = labelTitle
self.resultsTable.deselectRowAtIndexPath(indexPath, animated: true)
}
}
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
self.performSegueWithIdentifier("moreDetail", sender: self)
}

最佳答案

你需要检查indexpath是否为nil

if(indexPath == nil){
return
}

要 100% 确定它有效,您也可以这样做

if(indexPath == nil || indexPath.row >= self.resultsTitleArray.length){
return
}

关于swift - fatal error : Array index out of range with many tap Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35444091/

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