Iphone 如何预防;SQL注入“;核心数据中?

Iphone 如何预防;SQL注入“;核心数据中?,iphone,core-data,nspredicate,Iphone,Core Data,Nspredicate,我在几次迭代中构建了一个非常复杂的谓词,并希望立即在谓词中提供匹配值 而不是: [NSPredicate predicateWithFormat:@"departmentName like[c] %@"]; 我想做: NSString*str=[NSString stringWithFormat:@“部门名称,如[c]'%@',部门名称]; [NSPredicate PREDITEWITHFORMAT:str] 由于这是一个愚蠢的替换,我想有可能通过输入垃圾来意外地“破解”谓词 我找不到任何能

我在几次迭代中构建了一个非常复杂的谓词,并希望立即在谓词中提供匹配值

而不是:

[NSPredicate predicateWithFormat:@"departmentName like[c] %@"];
我想做:

NSString*str=[NSString stringWithFormat:@“部门名称,如[c]'%@',部门名称]; [NSPredicate PREDITEWITHFORMAT:str]

由于这是一个愚蠢的替换,我想有可能通过输入垃圾来意外地“破解”谓词

我找不到任何能“神奇地引用”这个价值的东西


原因是,我需要在多次迭代中构建一个复杂的谓词,所以我必须构建一个大的谓词字符串。模板不适用于子查询。因此,我需要立即在字符串中提供值,因为我不想根据谓词格式的值数量进行20次不同的谓词初始化。

直接使用
NSComparisonPredicate
,绕过谓词格式问题

NSPredicate *fetchPredicate = [NSComparisonPredicate predicateWithLeftExpression:[NSExpression expressionForKeyPath:@"departmentName"]
                                                                 rightExpression:[NSExpression expressionForConstantValue:searchTerm]
                                                                        modifier:NSDirectPredicateModifier
                                                                            type:NSLikePredicateOperatorType
                                                                         options:0];
通读“在代码中直接创建谓词”,并检查类引用中的