我有这段代码:
NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Entry"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"version == %@", @"1.0"];
[request setPredicate:predicate];
NSArray *results = [managedObjectContext executeFetchRequest:request error:nil];
实体“Entry”有一个名为“version”的属性,它是一个字符串。上面的谓词似乎并不只是返回字符串为“1.0”的条目,但返回一些设置为“1.1”的条目。
我这样做错了吗?
答案 0 :(得分:1)
尝试在谓词表达式周围放置圆括号()
即。
"(version == %@)"
答案 1 :(得分:1)
查看apple doc的
并在like
或:
==
进行尝试
NSPredicate *predicate = [NSPredicate predicateWithFormat:
@"(version == %@)", @"1.0"];