Cocoa предоставляет NSDictionary, который по существу является ассоциативным массивом.Двунаправленная карта в Какао
Есть ли хороший способ получить двунаправленную ассоциативность? то есть один из способов был бы, если бы NSDictionary имел метод keyForObject:
, который отражал поведение objectForKey:
.
Мне все равно, если NSDictionary не способ получить это. Я знаю, что NSDictionary делаетkeysOfEntriesPassingTest:
, но он возвращает NSSet *
, который не выглядит очень чистым для того, что я хочу иметь.
Вот пример:
fieldMap = [[NSDictionary alloc] initWithObjectsAndKeys:
@"c0",@"synckey",
@"c1",@"wi_id",
@"c2",@"wi_parent_id",
@"c3",@"wi_type",
@"c4",@"wi_rh_task",
@"c5",@"decision_key",
@"c6",@"wi_stat",
@"c7",@"wi_prio",
@"c8",@"wi_cd",
@"c9",@"wi_ct",
@"cb",@"wi_dh_stat",
@"cc",@"wi_user",
nil];
Я хочу, чтобы перевести между c0 и synckey и обратно, и поддакивать для других полей.
CHDataStructures, похоже, имеет много другого полезного материала. Я собираюсь пойти и включить его. – ArjunShankar