列と呼ばれるNSObjectから拡張するモデルオブジェクトがあります。列には、プロパティとデータの2つのフィールドがあります。プロパティは、データが配列であるときに任意のキーと値のペアを格納するNSDictionaryです。
列は配列で提供され、常にプロパティにあることがわかっている値、つまりキーordinal_positionを持つ値で並べ替える必要があります。
次のコードを使用して並べ替えていますが、モデルオブジェクトに「ordinal_position」がなく、モデルオブジェクトのプロパティにのみ存在するため、常に失敗します。
NSArray *unsortedArray = [resultStore allValues];
NSSortDescriptor *sortDescriptor = [[[NSSortDescriptor alloc] initWithKey:@"ordinal_position" ascending:YES] autorelease];
NSArray *sortedArray = [unsortedArray sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
NSSortDescriptorに、モデルオブジェクトのディクショナリでプロパティを検索するように指示するにはどうすればよいですか?