JSON 데이터를 보여주는 내 테이블에서 검색 막대를 사용하려고합니다. 내 선언 된 변수가 나는 오류를 잡아 당겨하고테이블 검색 기능이 올바르게 작동합니까?
var arrRes: [[NSObject: AnyObject]] = []
데이터를 저장하기 위해 여기에
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
filtered = arrRes.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.exercisesTableView.reloadData()
과 : 여기 내 검색 창 기능입니다
Cannot invoke 'filter' with an argument list of type '(([NSObject : AnyObject]) throws -> Bool) Expected an argument list of type '((Dictionary) throws -> Bool)''
임 확인이하는 것입니다 arrRes 변수 및 해당 데이터 유형에 액세스 할 수 있지만이를 해결하는 방법은 확실하지 않습니다.
var filtered: [[NSObject: AnyObject]] = []
을 ...하지만 모르게 확실히 알고 어렵습니다 : 나는 당신이 너무 좋아, arrRes
에 맞게 filtered
당신의 선언을 업데이트 할 필요가 있다고 생각
'filtered'변수는 어떻게 선언됩니까? – ganzogo
OP의 코드에서 : filtered = arrRes.filter ({(text) -> Bool in – infernouk
당신은 거기에 그것을 설정하고 있는데 어디에서 선언 했습니까?이 문제는이 사이의 형식이 일치하지 않는 것 같습니다 와'filter'의 출력을 비교해 보면'filtered' 변수의 타입을 알 수 있습니다. – ganzogo