次のフィルタリングコードで構成され、それを使用して作成されたNSSet
(「果物」など)があります。NSManagedObjects
NSSet *fruits = [self.allFruits filteredSetUsingPredicate:
[NSPredicate predicateWithFormat:@"quantity > 10"];
各果物には、次のプロパティ (属性) があります: name
(例: リンゴ、オレンジ、バナナ)、color
(赤、黄、緑)、およびquantity
(100、20、10)。
果物の をキーとして、オブジェクトとしてを含むNSDictionary
これから を作成する最も効率的な方法は何でしょうか(例: key:object: apple: 100 orange: 20)?NSSet
name
quantities
これは、ブロック列挙を使用してこれを行う方法です。
__block NSMutableDictionary *fruitsAndColors = [NSMutableDictionary dictionary];
[fruits enumerateObjectsUsingBlock:^(id fruit, BOOL *stop) {
[fruitsAndColors setObject:fruit.color forKey:fruit.name];
}];
同じことを達成するためのよりエレガントな方法はありますか?
ありがとうございました!