Синтаксис NSPredicate

#iphone #objective-c #xcode #nspredicate

#iPhone #objective-c #xcode #nspredicate

Вопрос:

Может кто-нибудь заметить мою ошибку ?…

 pred = [NSPredicate predicateWithFormat:@"ICAO contains[cd] %1$@ OR IATA contains[cd] %1$@ OR AirportName contains[cd] %1$@ OR CityName contains[cd] %1$@", searchText];
 

Завершение работы приложения из-за неперехваченного исключения ‘NSInvalidArgumentException’, причина: ‘Невозможно проанализировать строку формата «ICAO содержит [cd] % 1 $ @ ИЛИ IATA содержит[cd] % 1 $ @ ИЛИ название аэропорта содержит[cd] % 1 $ @ ИЛИ название города содержит [cd] % 1 $ @»‘

🙁

Комментарии:

1. Если вы регулярно NSString использовали stringWithFormat: именно этот формат, работает ли он? (Он должен …)

Ответ №1:

Я не уверен, что форматы NSPredicate поддерживают заполнители номеров в стиле printf.

pred = [NSPredicate predicateWithFormat:@"ICAO contains[cd] %@ OR IATA contains[cd] %@ OR AirportName contains[cd] %@ OR CityName contains[cd] %@", searchText, searchText, searchText, searchText];