У меня есть приложение, когда пользователь нажимает на ячейку, он откроет другой viewController, и я просто добавлю uisearchcontroller
в свой рабочий стол.didSelectRowAtIndexPath указательный путь с uisearchcontroller
Когда я ищу по таблице, результат верен, , но когда я нажимаю на ячейку после фильтрации, она открывает неправильную страницу.
Моя проблема, я не сейчас, как определить indexpath
когда uiviewcontroller
активен, чтобы сделать результат открытой правильной странице
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
IndexPathRow = indexPath.row
performSegueWithIdentifier("toView2", sender: self)
}
Редактировать
Я решил свою проблему, добавив новым переменной в структуре целочисленного типа, а затем изменить функцию didSelectRowAtIndexPath на
func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
if resultSearchController.active && resultSearchController.searchBar.text != ""{
IndexPathRow = filteredData[indexPath.row].i
}
else {
IndexPathRow = indexPath.row
}
performSegueWithIdentifier("toView2", sender: self)
}
Вам необходимо предоставить дополнительную информацию. У вас должен быть какой-то метод для хранения того, что находится в разных ячейках (например, массив данных ячейки). Тогда строка может соответствовать элементу, расположенному в этом месте в массиве. – Kendel