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