0
我有coredata我的iPhone應用程序,但我在做什麼,從表中,這在我的情況是一個問題表,其中包含以下收集所有的值:CoreData和NSPredicate
@property (nonatomic, retain) NSString * answerA;
@property (nonatomic, retain) NSString * answerB;
@property (nonatomic, retain) NSString * answerC;
@property (nonatomic, retain) NSString * answerD;
@property (nonatomic, retain) NSString * correctAnswer;
@property (nonatomic, retain) NSString * question;
@property (nonatomic, retain) NSString * timeStampLastUsed;
@property (nonatomic, retain) NSNumber * gameType;
@property (nonatomic, retain) NSString * continent;
我我得到所有的價值這種方式:
NSError *error;
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Questions" inManagedObjectContext:managedObjectContext];
[fetchRequest setEntity:entity];
NSArray *fetchedObjects = [managedObjectContext executeFetchRequest:fetchRequest error:&error];
我想要的是在NSArray * fetchedObjects只有具有特定遊戲類型的問題。
我該如何做到這一點與NSPredicate?
感謝 問候
由於gameType是一個NSNumber對象,所以我會推薦'@「gameType.intValue ==%i」,0'。通常情況下,如果'intValue'被省略,它仍然有效,但它仍然是一種好的做法 – mrosales
我現在試圖做一些更高級的事情,我想獲得歐洲大陸的所有遊戲類型:NSPredicate * predicate = [NSPredicate predicateWithFormat: (「gameType.intValue ==%i」)或(gameType.intValue ==%i)或(gameType.intValue ==%i))AND(continent.intValue ==%i)「,0,2,3 ,0];但是這並沒有使我期待的迴歸我。我想獲得來自歐洲大陸(0)的遊戲類型0,2和3。誰能幫我? – mmm
根據您提供的參數,您的謂詞看起來是正確的。如果有的話,你會得到什麼結果?我發現創建一個'predicateWithBlock:'來測試你的過濾結果有時更容易,然後一旦你得到你需要的結果,就將它重構成'predicateWithFormat:'。 – CaptainRedmuff