Я пытаюсь выполнить поиск в массиве, отображаемом в виде таблицы, и следую этому руководству, однако, когда я пытаюсь вызвать метод reloadData (), я получаю Неоднозначную ссылку на член 'tableView (_: didSelectRowAt:) '
Есть идеи, что мне не хватает?
Заранее спасибо за любые советы.Вот мой код ListController.swift:
import UIKit
var arrayIndex = 0
class ListController: UIViewController, UITableViewDataSource, UITableViewDelegate, UISearchBarDelegate {
let data = ["New York, NY", "Los Angeles, CA", "Chicago, IL", "Houston, TX",
"Philadelphia, PA", "Phoenix, AZ", "San Diego, CA", "San Antonio, TX",
"Dallas, TX", "Detroit, MI", "San Jose, CA", "Indianapolis, IN",
"Jacksonville, FL", "San Francisco, CA", "Columbus, OH", "Austin, TX",
"Memphis, TN", "Baltimore, MD", "Charlotte, ND", "Fort Worth, TX"]
var filteredData: [String]!
@IBOutlet var searchBarOutlet: UISearchBar!
//Table Delegate
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
arrayIndex = indexPath.row
performSegue(withIdentifier: "segue", sender: self)
}
// Table Data Source
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return filteredData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// Cell Data Source
let cell = tableView.dequeueReusableCell(withIdentifier: "TableCell", for: indexPath) as UITableViewCell
cell.textLabel?.text = filteredData[indexPath.row]
// Cell Visual Formatting
cell.backgroundColor = UIColor(red:0.05, green:0.05, blue:0.07, alpha:0)
cell.textLabel?.textColor = UIColor.white
cell.textLabel?.font = UIFont(name: "Raleway", size: 18)
cell.accessoryType = UITableViewCellAccessoryType.disclosureIndicator
return cell
}
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
filteredData = searchText.isEmpty ? data : data.filter { (item: String) -> Bool in
return item.range(of: searchText, options: .caseInsensitive, range: nil, locale: nil) != nil
}
let tableView = UITableView()
self.tableView.reloadData()
}
override func viewDidLoad() {
super.viewDidLoad()
self.title = "\(titles.count) Definitions"
filteredData = data
}
}