搜索时搜索栏错误

时间:2017-09-16 13:04:53

标签: swift uitableview

当我在加载视图时在搜索栏中执行搜索(从服务器加载数据)时,我得到辅助为零的错误。

var isSearch = false
var auxiliar : [Shops]!
var searchActive: Bool = false

func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
    if searchActive
    {
        return auxiliar.count
    }
    return shops.count
   } 

数据以JSON格式传递给TableView

这是我指定辅助

的时候
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
    auxiliar = shops.filter { $0.shopname.range(of: searchText, options: .caseInsensitive, range: nil, locale: nil) != nil}
    if searchText == "" || searchBar.text == nil {
        auxiliar = shops
    }
    tableView.reloadData()
}

1 个答案:

答案 0 :(得分:0)

auxiliar声明为空数组。

var auxiliar = [Shops]()

auxiliar.count访问tableView(_:, numberOfRowsInSection:)时,tableView将为空。然后,当您获得数据并调用searchBar(_:,textDidChange:)时,再次设置auxiliar。重新加载表时,将显示新数据。