我有一个tableviewController,我有一个SearchBar。当我在搜索框中输入自助餐厅名称时,会显示带有找到名称的错误图像。
这是我的变量:我应该用另一种语法格式声明我的字典数组中的标题和图像吗?
@IBOutlet weak var RetailTableView: UITableView! //our TableView
var resultSearch = UISearchController() //our UISearchbar
var menuItems = [["20/20 Cafe" : "20_20Cafe.jpg"],
["Au Bon Pain": "AuBonPain.jpg"]]
var menuItemsFiltered = [(String)]()
这是我的TableViewFunc:
internal func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell
{
let cell = tableView.dequeueReusableCellWithIdentifier("RetailCell", forIndexPath: indexPath) as! ResidentialTableViewCell
let entry = menuItems[indexPath.row]
let image = UIImage(named: RetailImagesArray[indexPath.row])
if self.resultSearch.active
{
cell.RetailLabel.text = menuItemsFiltered[indexPath.row]
}
else
{
cell.RetailImage.image = image
cell.RetailLabel.text = entry.keys //Not Working
}
我的搜索功能无效
func updateSearchResultsForSearchController(searchController: UISearchController) {
self.FilteredArray.removeAll(keepCapacity: false)
let searchText = searchController.searchBar.text!.lowercaseString
FilteredArray = RetailPlacesArray.filter({$0.lowercaseString.rangeOfString(searchText) != nil})
RetailTableView.reloadData()
}
请帮忙,我做错了什么?
答案 0 :(得分:1)
rangeOfString
不返回nil
,而位置为NSRange
的{{1}}则不会返回。{/ p>