С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
Swift
Войти
Регистрация
Восстановить пароль
 
sano44
0 / 0 / 0
Регистрация: 09.02.2018
Сообщений: 2
1

Передача из TableViewCell с searchbar через Segue

09.02.2018, 11:10. Просмотров 354. Ответов 3

Данные сортируются нормально, однако при клике на них, ничего не происходит, догадываюсь, что нужно дополнить функцией UISrotyBoardSegue, но код не могу найти, прошу помощи.


Код
class KoAPTableViewController: UITableViewController, UISearchResultsUpdating {

var tableArray = ["Статья 1.4. Принцип равенства перед законом","Статья 1.5. Презумпция невиновности","Статья 2.1. Административное правонарушение","Статья 2.3. Возраст, по достижении которого наступает административная ответственность","Статья 2.6.1. Административная ответственность собственников (владельцев) транспортных средств","Статья 2.9. Возможность освобождения от административной ответственности при малозначительности административного правонарушения","Статья 4.1. Общие правила назначения административного наказания"]
var segueIdentifieres = ["AA","AB","AC","AD","AE","AF","AG","AH","AI","AJ","AK","AL","AM","AN","AO","AP","AQ","AR","AS","AT"]
var searchController = UISearchController()
var resultsController = UITableViewController()
var filterArray = [String]()

override func viewDidLoad() {
    super.viewDidLoad()
  
    searchController = UISearchController(searchResultsController: resultsController)
    tableView.tableHeaderView = searchController.searchBar
    searchController.searchResultsUpdater = self
    resultsController.tableView.delegate = self
    resultsController.tableView.dataSource = self

}

func updateSearchResults(for searchController: UISearchController) {
    filterArray = tableArray.filter({ (array:String) -> Bool in
        if array.contains(searchController.searchBar.text!) {
            return true
        } else {
            return false
        }
    })
    resultsController.tableView.reloadData()
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
    // Dispose of any resources that can be recreated.
}

override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    // #warning Incomplete implementation, return the number of rows
    if tableView == resultsController.tableView {
        return filterArray.count
    } else {
        return tableArray.count
    }
}

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let cell = UITableViewCell()
    if tableView == resultsController.tableView {
        cell.textLabel?.text = filterArray[indexPath.row]
        return cell
    } else {
        cell.textLabel?.text = tableArray[indexPath.row]
    }
    cell.textLabel?.numberOfLines = 0
    return cell
}
override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
    performSegue(withIdentifier: segueIdentifieres [indexPath.row], sender: self)
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.02.2018, 11:10
Ответы с готовыми решениями:

Не получается работать с собственным классом TableViewCell
У меня есть tableview который помещен в базовый view и сверху toolbar. Я сделал...

Segue
Здравствуйте! Возникла проблема Есть TableViewController , при выборе ячейки...

Переход по segue
Имеется 3 ViewController соединенные последовательно. Нужно, чтобы при одном...

CollectionView & Segue
Помогите плиз, голову уже сломал, весь нет перерыл - не могу понять что да как....

Ручной переход segue
Есть tableviewcontroller при свайпе на ячейку появляется delete и рядом edit. ...

3
ExFau$t
639 / 539 / 122
Регистрация: 08.05.2012
Сообщений: 2,711
10.02.2018, 10:04 2
Это не так делается по идее. В didSelectRowAt просто в пустую переменную запиши id выбранной. Id segue будет один, тот что ты указал, когда связал два контроллера. Затем переопределяешь метод prepare для segue, где уже можно передать выбранный id.
0
sano44
0 / 0 / 0
Регистрация: 09.02.2018
Сообщений: 2
10.02.2018, 13:30  [ТС] 3
Я начинающий, пересмотрел весь ютуб, перечитал форумы, однако нужного мне кода так и не нашел, поэтому очень прошу если знаете как изменить код - пожалуйста напишите
0
ExFau$t
639 / 539 / 122
Регистрация: 08.05.2012
Сообщений: 2,711
10.02.2018, 21:05 4
Тут вроде говорят, даже по-русски про segue.
http://swiftbook.ru/koposhilka/passdata
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.02.2018, 21:05

Два segue, Два viewController, Одно отображение
Добрый день! Изучаю работу c segue - и столкнулся с проблемой. Какая стоит...

Передача данных segue
Доброго времени! Вобщем то вопрос в теме. Гугл не смог решить мою задачу Вот...

Удаление DAEMON Tools SearchBar
Здравствуйте! Я не могу удалить DAEMON Tools SearchBar. Пишет, что удаление...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru