2012-08-30 73 views
3

工作,我有這樣的代碼:NSFetchRequest不謂

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"Entry"]; 

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"version == %@", @"1.0"]; 

[request setPredicate:predicate]; 

NSArray *results = [managedObjectContext executeFetchRequest:request error:nil]; 

實體「進入」有一個名爲「版本」的屬性,它是一個字符串。上面的謂詞似乎並不是只返回字符串爲「1.0」的條目,而是返回一些條目設置爲「1.1」。

我做錯了嗎?

+1

你試過用=而不是==? – jere

+0

謂詞對我來說看起來很好。你嘗試過別的嗎? –

回答

1

嘗試把圓括號()在你的謂詞表達式

"(version == %@)" 
+0

爲什麼?........... –

1

看看在apple doc

,並在==或情況與like嘗試:

NSPredicate *predicate = [NSPredicate predicateWithFormat: 
             @"(version == %@)", @"1.0"];