使用引号处理NSPredicate和参数(不一定是配对)

时间:2012-01-23 10:13:56

标签: objective-c cocoa

我们说我在搜索字符串中有引号,例如:

 This "is 'a complicated string 

这是代码:

NSPredicate* thePredicate = [NSPredicate predicateWithFormat:@"editionString=\"String \"With Quotes\""];

这行代码使我的应用程序崩溃,因为不再理解谓词:

Unable to parse the format string "editionString="String "With Quotes""

我不想删除引号,因为我需要将此字符串与我在本地数据库中的字符串进行比较,并且它们必须相同(本地字符串也包含引号)。

由于

1 个答案:

答案 0 :(得分:1)

简单:

NSString *string = @"This \"is 'a complicated string";
NSPredicate *p = [NSPredicate predicateWithFormat:@"editionString = %@", string];

当我NSLog这个谓词时,它会显示:

EmptyFoundation[15294:707] editionString == "This \"is 'a complicated string"

所以:没有解析错误,并且谓词是正确构建的。如果它对您不起作用,那么您没有提出正确的问题。