SQL ステートメント SELECT * FROM TABLE WHERE ACTION IN ('A','B');
次のコードは例外をスローしています
- (NSArray*) fetchManagedObjects:(NSString*)className withFlag:(NSString*)flag{
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:className inManagedObjectContext:[self managedObjectContext]];
fetchRequest.entity = entity;
NSMutableString *str = [NSMutableString stringWithFormat:@" ( 1== 1 ) "];
if ([className isEqualToString:@"Entity3"]) {
[str appendFormat:@" AND ( kfollowAction IN ('%@') ) ", flag];
}
NSPredicate *predicate = [NSPredicate predicateWithFormat:str];
fetchRequest.predicate = predicate;
NSError *error = nil;
NSArray *entities = [self.managedObjectContext executeFetchRequest:fetchRequest error:&error];
return entities;
}
2013-06-20 16:45:51.318 CNPL[1447:1a903] *キャッチされていない例外 'NSInvalidArgumentException' が原因でアプリを終了しています。 throw call stack: (0x3647012 0x2ea2e7e 0x36d24bd 0x3636bbc 0x363694e 0x192966c 0x1928e06 0x191b829 0x191ad08 0x1915915 0x19155f2 0x19153c0 0x1915195 0x1914977 0x1914464 0x19135dd 0x1911539 0xdce02 0xe261a 0x1ec81c7 0x1ec8232 0x1ec84da 0x1edf8e5 0x1edf9cb 0x1edfc76 0x1edfd71 0x1ee089b 0x1ee0e93 0x1ee0a88 0xe1dd3 0x2eb6705 0x1dea2c0 0x1dea258 0x1eab021 0x1eab57f 0x1eaa6e8 0x1e19cef 0x1e19f02 0x1df7d4a 0x1de9698 0x3909df9 0x3909ad0 0x35bcbf5 0x35bc962 0x35edbb6 0x35ecf44 0x35ece1b 0x39087e3 0x3908668 0x1de6ffc 0x1ab1a 0x2f35)
Coredata の使用方法