2017-03-07 45 views
-1

我試圖在tableView中實現一個searchBar,但是我得到這個錯誤。我無法弄清楚如何刪除它。iOS - searchBar,錯誤

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { 
    searchingDataArray = origanalArray.filter({ (text) -> Bool in 
     let tmp: String = text 
     let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive) 
     return range.location != NSNotFound 
    }) 
    if (searchingDataArray.count == 0) { 
     searching = false 
    } else { 
     searching = true 
    } 
    self.tableView.reloadData() 
} 

上的代碼的第5行出現此錯誤,這聽起來像這樣:類型範圍string.index的價值沒有成員位置

+0

在第一線的使用讓或searchingDataArray – commando24

+0

VAR可以更換'range.location'返回'回覆範圍= nil' –

回答

1

更新了斯威夫特3:

我們e行代碼;

// MARK:- Varirabl Declartion 

@IBOutlet weak var mSearchBar: UISearchBar! 
@IBOutlet weak var mTableView: UITableView! 

var isSearch : Bool = false 
var arrCountry = ["Afghanistan", "Algeria", "Bahrain","Brazil", "Cuba", "Denmark","Denmark", "Georgia", "Hong Kong", "Iceland", "India", "Japan", "Kuwait", "Nepal"] 
var arrFilter:[String] = [] 

// MARK:的UISearchBar委託方法

func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { 

    if searchText.characters.count == 0 { 
     isSearch = false; 
     self.mTableView.reloadData() 
    } else { 
     arrFilter = arrCountry.filter({ (text) -> Bool in 
      let tmp: NSString = text as NSString 
      let range = tmp.range(of: searchText, options: NSString.CompareOptions.caseInsensitive) 
      return range.location != NSNotFound 
     }) 
     if(arrFilter.count == 0){ 
      isSearch = false; 
     } else { 
      isSearch = true; 
     } 
     self.mTableView.reloadData() 
    } 
} 
0

試試這個可能對您的幫助:

func searchBar(searchBar: UISearchBar, textDidChange searchText: String) { 

    filtered = data.filter({ (text) -> Bool in 
     let tmp: NSString = text 
     let range = tmp.rangeOfString(searchText, options: NSStringCompareOptions.CaseInsensitiveSearch) 
     return range.location != NSNotFound 
    }) 
    if(filtered.count == 0){ 
     searchActive = false; 
    } else { 
     searchActive = true; 
    } 
    self.tableView.reloadData() 
} 
+0

HTTPS! ://github.com/codepath/ios_guides/wiki/Search-Bar-Guide –