3

我有这个代码:

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”的条目。

我做错了吗?

4

2 回答 2

1

看看苹果文档

like在以下情况下尝试==

NSPredicate *predicate = [NSPredicate predicateWithFormat:  
                                       @"(version == %@)", @"1.0"];
于 2012-08-30T15:01:41.040 回答
1

尝试在谓词表达式周围放置圆括号 ()

IE

"(version == %@)"
于 2012-08-30T14:54:02.477 回答