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

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

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

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

http://www.cyberforum.ru/ios-dev/thread1117033.html

Код
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 с searchbar через Segue (Swift):

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

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

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

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

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

3
ExFau$t
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
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
516 / 471 / 101
Регистрация: 08.05.2012
Сообщений: 2,369
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
Доброго времени! Вобщем то вопрос в теме. Гугл не смог решить мою задачу Вот...

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

Не освобождается память после unwind segue
Здравствуйте! Объясните, пожалуйста, как правильно решить следующую проблему: ...

Передача массива через POST и подгрузка файла через AJAX
Доброго времени суток. Задача такого : есть элемент select в котором можно...


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

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

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