如何从NSDictionary中的相应值获取密钥?

nit*_*arg 14 objective-c ios

如何从NSDictionary中的相应值获取密钥?我知道allKeys函数,但我们有一个方法,它返回单个值的单个键.

Wim*_*tra 37

好吧因为一个值可以多次在NSDictionary中,所以没有办法只说"给我这个值的关键".但你可以说"给我所有包含这个值的键".

NSArray* arrayOfKeys = [yourDictionary allKeysForObject:myObject];

如果该值只在字典中出现一次,则可以使用以下方法提取它:

YourObject* o = [arrayOfKeys firstObject];

但是,总是对这个数组执行NIL并计数检查.未来出界异常!

对@Hagile的PS积分firstObject代替方法objectAtIndex:0

  • `YourObject*o = [arrayOfKeys firstObject];`安全:) (2认同)