Результаты поиска переходят на другой вид контроллера в Swift - PullRequest
0 голосов
/ 15 сентября 2018

Я внедряю контроллер поиска программно на панели навигации, он работает нормально и показывает результат, если я могу выбрать ячейку просмотра таблицы (сделал выбор метода), то segue работает нормально. когда я выбираю результат поиска, он не переходит к следующему контроллеру просмотра. Это показывает тот же самый контроллер представления, и табличное представление перезагружается с данными. Я показываю один раз нажмите результат поиска перейти к следующему виду контроллера

изображение введите описание изображения здесь

var modeldata = [ModelData]()
var FilerData = [ModelData]() 


override func viewDidLoad() {
        super.viewDidLoad()

        self.searchcontroller = UISearchController(searchResultsController: nil)
        self.searchcontroller.delegate = self
        self.searchcontroller.searchBar.delegate = self
        self.searchcontroller.hidesNavigationBarDuringPresentation = false
        self.searchcontroller.dimsBackgroundDuringPresentation = true
        self.navigationItem.titleView = searchcontroller.searchBar
        self.definesPresentationContext = true
        self.searchcontroller.searchResultsUpdater = self
}

 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return modeldata.count
    }

    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
       let cell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) as! CustomTableViewCell
        let row = indexPath.row
        let values = modeldata[row] as ModelData

        cell.NameLabel.text = values.name 
return cell
}

func updateSearchResults(for searchController: UISearchController) {

        let searchToSearch = searchController.searchBar.text
        if(searchToSearch == "")
        {
            modeldata = self.FilerData
        }
        else{
            modeldata.removeAll()
            let itemsarray = self.FilerData
            var ListArray = [String]()
            for ListItems in itemsarray {
                ListArray.append(ListItems.name!)
                if(ListItems.name?.range(of: searchToSearch!, options: .caseInsensitive) != nil)
                {
                    self.modeldata.append(ListItems)

                }
            }
        }
        self.TableView.reloadData()
      }

    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        performSegue(withIdentifier: "next", sender:indexPath.row )

    }

    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
        let selectrow = sender as? Int
        let name = modeldata[selectrow!].name
        let nextview = segue.destination as? WekiViewController
        nextview?.namestring = name!
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...