Как использовать UISearchController для поиска языка мандарин? - PullRequest
0 голосов
/ 07 сентября 2018

Я пытаюсь сделать данные путешествия с помощью json и добавить UISearchController. Похоже, я могу запустить UISearchController с английским и номером; однако, я не могу искать мандарин, когда я набираю ключевое слово.

Вот код, оценят все, кто может мне помочь!

class TableViewController: UITableViewController, UISearchResultsUpdating {

    func updateSearchResults(for searchController: UISearchController) {
        let searchString = searchController.searchBar.text!
        filteredData = travelData.filter({ (data) -> Bool in
            return (data.Name.contains(searchString) && data.Add.contains(searchString))
        })
        tableView.reloadData()
    }
    var travelData = [DetailData]()
    var filteredData = [DetailData]()

    override func viewDidLoad() {
        super.viewDidLoad()
        guard let url = "http://data.ntpc.gov.tw/api/v1/rest/datastore/382000000A-002491-001".addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed), let downloadUrl = URL(string: url) else {return}
        let task = URLSession.shared.dataTask(with: downloadUrl) { (data, response, error) in
            let decoder = JSONDecoder()
            print("Decoder")
            if let data = data{
                do{
                    let json = try decoder.decode(Alldata.self, from: data)
                    self.travelData = json.result.records
                    print("json")
                    DispatchQueue.main.async {
                        self.tableView.reloadData()
                    }
                }catch{
                    print(error.localizedDescription)
                }
            }
        }
        task.resume()

        navigationController?.navigationBar.prefersLargeTitles = false
        let searchController = UISearchController(searchResultsController: nil)
        searchController.searchResultsUpdater = self
        searchController.dimsBackgroundDuringPresentation = false
        navigationItem.searchController = searchController
        definesPresentationContext = true
        navigationItem.hidesSearchBarWhenScrolling = false

        let image = UIImage()
        self.navigationController?.navigationBar.setBackgroundImage(image, for: .default)
        self.navigationController?.navigationBar.shadowImage = image
    }
}

Прилагается с помощью gif-ссылки, чтобы лучше понять мою ситуацию. enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...