3
在我的代码中,我想检查一下记录是否已经存在,所以我知道是否创建它或更新它。但我遇到了一个问题。问题是当我使用这个:NSPredicate格式字符串不起作用
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];
我缺少或格式字符串做正确:然而,当我把它改写像这样它工作得很好?
Monolo的答案是正确的,但我会建议使用这种方法,而不是格式之一。这个更快。 – J2theC