各要素が と呼ばれるプロパティを持っている要素を含む Core Data データベースを考えてみましょう。問題は、各シンボルのsymbol
を取得する最も簡潔な方法です。NSArray
これは、次のようなもので達成できます
-(NSArray*)symbolsInDatabase {
ENTRY_LOG;
NSError* err;
NSFetchRequest* request = [NSFetchRequest fetchRequestWithEntityName:@"Element"];
request.resultType = NSDictionaryResultType;
request.propertiesToFetch = [NSArray arrayWithObject:@"symbol"];
NSArray* arrayOfDictionaries = [self.database.managedObjectContext executeFetchRequest:request error:&err];
NSMutableArray* symbols = [[NSMutableArray alloc]initWithCapacity:[arrayOfDictionaries count]];
for (NSDictionary* d in arrayOfDictionaries) {
[symbols addObject:[d objectForKey:@"symbol"]];
}
EXIT_LOG;
return symbols;
}
-(NSArray*)filteredArrayUsingPredicate
それでも、何かが欠けているというしつこい感覚があり、辞書の配列を繰り返し処理してキーのオブジェクトを抽出するのではなく、何らかの巧妙な方法で使用できるのではないかと感じていsymbol
ます。
これをよりきれいにする方法について何か考えはありますか?