私はiPhoneのCoreDataはIN述語をサポートしていますか?
*** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'unimplemented SQL generation for predicate : (type IN {71, 73, 70, 72, 74})'
...実行すると、executeFetchRequestメッセージが例外をスローします... ...ユーザーによって定義されたタイプのリストに基づいて、特定のタイプのレコードの束を取得するために
[fetchRequest setEntity:[NSEntityDescription entityForName:@"myRecord" inManagedObjectContext:self.managedObjectContext]];
NSSet *shipTypes = [NSSet setWithObjects:[NSNumber numberWithInt:70],
[NSNumber numberWithInt:71],
[NSNumber numberWithInt:72],
[NSNumber numberWithInt:73],
[NSNumber numberWithInt:74],
nil];
NSPredicate *aPredicate = [NSPredicate predicateWithFormat:@"type in %@", shipTypes];
[fetchRequest setPredicate:aPredicate];
theRecords = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
をしようとしています
私は間違ったことをしましたか、これは本当にサポートされていませんか?
それは動作するはずですが、私は私の人生のためになぜそれができないのか理解できません。述語フォーマット文字列構文文書を読み、何かを見つけることができるかどうかを見てください:http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Predicates/Articles/pSyntax.html – Tim
合意。あなたはNSSetの代わりにNSArrayを試すかもしれませんが、それは書かれたとおりに動作するはずです。 –
もしあなたがそれをうまく動作させるなら、正しい答えの一つをマークするべきです。 –