KVC (Key-Value Coding) に於ける NSSet と NSArray の挙動は特殊なものとなっています。これを把握しておくと、NSPredicate でできることの幅が増えたり、Cocoa Bindings でできることの幅が増えるなどの利点があります。 今回は、KVC に於ける NSSet と NSArray の挙動を確認します。 NSSet と NSArray の valueForKey: メソッドは、NSObject のそれとは少し違う挙動を取ります。 [setOrArray valueForKey:key]; このとき、NSSet は、自分が持っている各メンバーに対して valueForKey: を実行し、それによって得られたオブジェクトをセットに収集し返します。 // Make set NSSet *set; set = [NSSet setWithObject