Когда я нажимаю только один раз на одной из ячеек в виде таблицы, он отлично работает с другим контроллером представления. Но если я коснусь дважды, тройного или более раз в ячейке, прежде чем перейти к другому контроллеру представления.Неустранимая ошибка: Индекс массива выходит за пределы диапазона с большим количеством кратковременного нажатия Swift
Ошибка индекса массива вне диапазона будет показана и выделена «let labelTitle = self.resultsTitleArray[indexPath.row]
». Я попытался использовать self.view.userInteractionEnabled = false
до performSegueWithIdenitifier
и self.view.userInteractionEnabled = true
после performSegueWithIdenitifier
. Но все равно не работает.
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)
}
Я полагаю, вы используете метод 'didSelectRowAtIndexPath', чтобы бросить ваш segue, можете ли вы поделиться своим кодом относительно этого метода? –
updated ............ –