【问题标题】:Correct way to create a NSPredicate创建 NSPredicate 的正确方法
【发布时间】:2012-07-24 14:29:38
【问题描述】:

我发现了 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 的最佳方法是什么?

【问题讨论】:

    标签: iphone ios core-data nspredicate


    【解决方案1】:

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

    relevant

    also relevant

    【讨论】:

      猜你喜欢
      • 2021-03-02
      • 1970-01-01
      • 2021-06-15
      • 2021-05-05
      • 2013-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多