-1

我发现了 2 种不同的方法来创建 NSPredicate。

方式一:

NSExpression *exprName = [NSExpression expressionForKeyPath:@"name"];
NSExpression *exprFilter = [NSExpression expressionForConstantValue: name ]; 
NSPredicate *predicate = [NSComparisonPredicate predicateWithLeftExpression: exprName 
                                                              rightExpression: exprFilter 
                                                                     modifier: NSDirectPredicateModifier  
                                                                         type: NSContainsPredicateOperatorType 
                                                                      options: NSCaseInsensitivePredicateOption];       

方式二:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS[c] %@", name];

创建 NSPredicate 并防止 SQLInjection 的最佳方法是什么?

4

1 回答 1

4

如果您以编程方式设置复杂的谓词,第一种方法很有用。除此之外,第二种方法很好。您不必担心使用 Core Data 进行 SQL 注入。

相关的

也相关

于 2012-07-24T14:34:38.533 回答