2016-02-10 4 views
0

У меня есть PFQueryTableViewController, и я добавил UISearchBar. В моей функции QueryForTable, я запускаю этот код, чтобы проверить, если текст, введенный в SearchBar соответствует любому значению в моем Разборе колонка, и если да, он показывает только те фильмы, в таблице:Как проверить, возвратил ли UISearchBar результаты с использованием query.whereKey в Swift

override func queryForTable() -> PFQuery { 
let query = PFQuery(className: "Reviews") 
query.orderByDescending("createdAt") 

if filmSearchBar.text != "" { 

    query.whereKey("FilmName", containsString: filmSearchBar.text!) 

} 

    return query 

} 

Это в настоящее время все работает нормально без проблем.

Что я хотел бы сделать, если результаты не найдены, отобразите Alert для того чтобы сообщить им, что ничего не найдено. В настоящее время, если пользователь ищет что-то случайное, то есть не в моей базе данных Parse, он просто показывает пустую таблицу (это технически корректно), но я хотел бы знать, как я могу сделать чек сначала, поэтому, если запись поиска не соответствует ничему, покажите это предупреждение, иначе, если это произойдет, тогда он просто покажет фильмы, которые он сейчас делает.

Любая помощь приветствуется, спасибо

ответ

1

вы не можете просто считать объекты с findObjects или findObjectsInBackgroundWithBlock

if filmSearchBar.text != "" { 
    query.whereKey("FilmName", containsString: filmSearchBar.text!) 
} 
query.findObjectsInBackgroundWithBlock{ (array:[PFObject]?, error:NSError?) in 
    if array?.count == 0 { 
    showAlert() 
    } 
} 
+0

Я действительно задавался вопросом, если это, как я бы это сделать. Я запустил этот код, но я понял следующее: «Значение типа tuple» ([PFObject] ?, NSError?) '(Aka' (Необязательно >, необязательный ) ') не имеет счетчика' count '' – Nick89

+0

findObjectsInBackgroundWithBlock :^(NSArray * objects, NSError * error) Первый объект - это массив справа? ты не можешь подсчитать это? $ 0 - массив btw –

+0

я обновил его, посмотрим, имеет ли это смысл для вас –