NSDictionary值/对象的关键?

Sye*_*sar 80 cocoa-touch objective-c nsdictionary ios

我们可以NSDictionary通过传递特定值或对象来获取对象的关键字吗?

Jos*_*ell 148

-[NSDictionary allKeysForObject:]返回NSArray其对象与传递的对象匹配的所有键中的一个,其中"匹配"由...确定isEqual:.

  • 但请记住:它为匹配'isEqual'而非'=='的对象提供了所有键 (3认同)
  • 如果这不是FGITW的问答,我不知道是什么.五个赞成只是因为我的浏览器中有一个搜索快捷方式. (2认同)

Add*_*Dev 43

要以更具体的方式回答您的问题,请使用以下内容获取特定对象的密钥:

NSString *knownObject = @"the object";
NSArray *temp = [dict allKeysForObject:knownObject];
NSString *key = [temp lastObject];

//"key" is now equal to the key of the object you were looking for
Run Code Online (Sandbox Code Playgroud)

  • 你可能更喜欢`lastObject`到`objectAtIndex:0`以避免在没有这样的键的情况下抛出异常. (6认同)
  • 如果您使用最新的SDK,甚至是`firstObject` (3认同)

归档时间:

查看次数:

56921 次

最近记录:

8 年,1 月 前