0

Я пытаюсь выполнить поиск по массиву объектов, которые извлекаются из Parse, чтобы отобразить результаты в UITableView. Я попытался использовать тот же метод, который использовал в одном из моих других приложений, но в этом случае он просто искал массив строк.UITableView Поиск имени в объекте

Это мой код на данный момент:

func filterContentForSearchText(searchText: NSString) { 
    let resultPredicate = NSPredicate(format: "SELF beginswith[cd] %@", searchText) //Use either contains or beginswith 
    searchResults = DataManager.sharedInstance.rideArray.name.filteredArrayUsingPredicate(resultPredicate) 
} 

func searchDisplayController(controller: UISearchDisplayController!, shouldReloadTableForSearchString searchString: String!) -> Bool { 
    self.filterContentForSearchText(searchString) 
    return true 
} 

Я понимаю, почему он не работает, но я не могу понять решение этой проблемы. Свойство, которое я хочу найти в объекте «Ride», - это имя.

Может ли кто-нибудь помочь мне? Благодаря!

ответ

1

Предполагая rideArray является массивом объектов Parse, которые имеют свойство name, предикат должен быть

NSPredicate(format: "name beginswith[cd] %@", searchText) 

И фильтровать массив с

rideArray.filteredArrayUsingPredicate(searchPredicate) 
+0

Я все еще получаю сообщение об ошибке на вторая строка - «[Ride]» не имеет члена с именем «filterArrayUsingPredicate». Есть идеи? – user3746428

+1

Вставить в 'NSArray'. '(rideArray как NSArray) .filtered ...' – Mundi

+0

Это замечательно! Большое спасибо! – user3746428