2011年8月25日木曜日

CoreDataやSet型からのデータ抽出でIN句、NOT IN句を使う

NSPredicateのpredicateWithFormatでIN, NOT INを記述し、対象を配列で指定する
// 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];
あとはこのNSPredicateを使う
// NSFetchRequestに設定する
[fetchRequest setPredicate:predicate];
// Set型からデータを抽出する
[userSet filteredSetUsingPredicate:predicate];

0 件のコメント:

コメントを投稿