CoreDataでIN句を使う方法
CoreDataでIN句を使用する方法は
NSArray *users = [NSArray arrayWithObjects:@"user1", @"user2", @"user3", nil]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"user IN %@", users];
Not INは
NSArray *users = [NSArray arrayWithObjects:@"user1", @"user2", @"user3", nil]; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"NOT (user IN %@)", users];
ちなみに、
NSString *user = @"user"; NSArray *users = [NSArray arrayWithObjects:@"user1", @"user2", @"user3", nil]; NSPredicate *predicate = [NSPredicate predicateWithFormat:[NSString stringWithFormat:@"%@ IN %@", user, users]];
のようにpredicateWithFormat内でNSStringのstringWithFormatを使うとうまく動かないので注意。
参考URL
http://sunalab.blogspot.jp/2011/08/coredatasetinnot-in.html