NSPredicate, невозможно проанализировать строку формата - PullRequest
0 голосов
/ 15 июля 2011

Итак, я пытаюсь получить пользовательский объект из базовых данных, сначала установив предикат, а затем запрашивая данные. Вот что я делаю: NSPredicate *predicate = [NSPredicate predicateWithFormat:@"(dec LIKE[c] %@", [NSNumber numberWithInteger:[tempItemDec integerValue]]];

Таким образом, dec - это NSNumber, а tempItemDec - это NSString, поэтому я должен сначала преобразовать строку в NSInteger, а затем обернуть целое число в NSNumber, чтобы иметь возможность запрашивать, но при этом появляется сообщение об ошибке:

Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Unable to parse the format string "(dec LIKE[c] %@"'

Я могу запрашивать элементы из БД, если я, например, использую их имя, но я этого не понимаю?

Есть идеи?

1 Ответ

4 голосов
/ 15 июля 2011

Вы не закрыли скобки. Также вам нужно указать строковый аргумент для оператора LIKE, а не число. Используйте [NSString stringWithFormat:@"%i", [tempItemDec integerValue]] например.

...