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