我们说我在搜索字符串中有引号,例如:
This "is 'a complicated string
这是代码:
NSPredicate* thePredicate = [NSPredicate predicateWithFormat:@"editionString=\"String \"With Quotes\""];
这行代码使我的应用程序崩溃,因为不再理解谓词:
Unable to parse the format string "editionString="String "With Quotes""
我不想删除引号,因为我需要将此字符串与我在本地数据库中的字符串进行比较,并且它们必须相同(本地字符串也包含引号)。
由于
答案 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"
所以:没有解析错误,并且谓词是正确构建的。如果它对您不起作用,那么您没有提出正确的问题。