-1

NSPredicateを作成する2つの異なる方法を見つけました。

方法1:

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

方法2:

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

NSPredicateを作成し、SQLInjectionを防ぐための最良の方法は何ですか?

4

1 に答える 1

4

最初の方法は、プログラムで複雑な述語を設定する場合に役立ちます。それ以外は、2番目の方法で問題ありません。CoreDataを使用したSQLインジェクションについて心配する必要はありません。

関連する

関連する

于 2012-07-24T14:34:38.533 に答える