В моем коде я хочу проверить и посмотреть, существует ли уже запись, чтобы знать, создавать ли ее или обновлять. Но я столкнулся с проблемой. Проблема в том, что когда я использую это:
NSPredicate *pred = [NSPredicate predicateWithFormat:@"%@ == %@", ATTRIBUTE_ID, idNumber];
[request setPredicate:pred];
Это не работает. Он всегда утверждает, что результаты не найдены. Однако он отлично работает, когда я переписываю его так:
NSExpression *lhs = [NSExpression expressionForKeyPath:ATTRIBUTE_ID];
NSExpression *rhs = [NSExpression expressionForConstantValue:idNumber];
NSPredicate *pred = [NSComparisonPredicate
predicateWithLeftExpression:lhs
rightExpression:rhs
modifier:NSDirectPredicateModifier
type:NSEqualToPredicateOperatorType
options:0];
[request setPredicate:pred];
Что я упускаю или делаю неправильно в строке формата?