Как написать предикат, чтобы получить только объекты, которые имеют даже свойство в iphone - PullRequest
0 голосов
/ 25 января 2012

Я работаю над приложением для чтения электронных книг. Я использую основные данные для хранения информации, если пользователь закладывает страницу. Основной объект данных для объекта закладки имеет несколько свойств, таких как номер страницы, текст закладки и т. Д. получить все закладки для страниц с нечетными номерами во всей книге. Свойство «номер страницы» сущности метки книги имеет тип «целое число 32» в базовой модели данных. Следующий предикат не работает для получения закладок с нечетными страницами:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(bookPath == %@) AND (bookmarkPageIndex%2!=0)", self.bookPath];

где "bookmarkPageIndex" - номер страницы, на который добавлена ​​закладка.

Пожалуйста, помогите, как проверить, если bookmarkPageIndex является четным или нечетным при извлечении из coredata.

Ответы [ 2 ]

1 голос
/ 25 января 2012

Полагаю, вам следует использовать оператор escape для знака %, который %%.

. Надеемся, что (bookmarkPageIndex%%2!=0) поможет.

0 голосов
/ 25 января 2012

В вашем предикате отсутствует ключевое слово AND между двумя условиями.

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(bookPath == %@)  AND (bookmarkPageIndex%2!=0)", self.bookPath];
...