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

述語式を丸括弧 () で囲んでみてください

すなわち

"(version == %@)"
于 2012-08-30T14:54:02.477 に答える
1

アップルの ドキュメントを見てください

likeまたはの場合に試してみてください==

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