我相信最接近你所追求的是allKeysForObject:
。这将返回一个 NSArray,其中包含与字典中给定对象的所有出现相对应的键。显然,如果该对象仅在字典中出现一次,则 NSArray 将仅包含一个对象。
以你的例子为例:
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];
此附加代码将返回一个包含 1 个字符串对象的数组,该字符串对象的计算结果为 @"c7":
NSArray *keyArray = [fieldMap allKeysForObject:@"wi_prio"];
[旁白:请注意,由于编译器的工作方式,这仅适用于此;它获取所有出现的@“wi_prio”并使它们成为同一对象。相反,如果您可能从磁盘等加载字典,则此方法不适用于 NSString。相反,你可能应该使用allKeys
然后迭代它们,与[mystring isEqualToString:anotherString]
.]