[英]Strange behavior of NSPredicate,
为什么该谓词返回结果:
predicate= [NSPredicate predicateWithFormat:@"itemsString like '*{4160366}*'"];
而此谓词返回空数组
predicate= [NSPredicate predicateWithFormat:@"itemsString like '*{%@}*'",[NSString stringWithString:@"4160366"]];
我让我发疯
构建谓词时,predicateWithFormat在执行变量替换时会自动添加引号。 因此,您的(第二个)谓词最终看起来像这样:
itemsString like '*{"4160366"}*'"
。
请注意额外的引号集。
更改为:
predicate= [NSPredicate predicateWithFormat:@"itemsString like %@",[NSString stringWithFormat:@"*{%@}*", @"4160366"]];
它应该工作。
(请注意,不是使用stringWithString
而是使用@""
来完成相同的操作。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.