代码之家  ›  专栏  ›  技术社区  ›  Cragly

你能从一个值中得到一个NSDictionary键吗

  •  2
  • Cragly  · 技术社区  · 16 年前

    使用下面的示例,如果我的值是QuestionType,我将如何获取键?

    NSDictionary *question = [NSDictionary dictionaryWithObjectsAndKeys:  
                    @"QuestionType", @"0",
                    @"Answer", @"1",
                    nil];
    
    1 回复  |  直到 16 年前
        1
  •  6
  •   David    16 年前

    你可以用 -[NSDictionary allKeysForObject:] . 它返回一个 NSArray 键,因为任何给定对象都可能有多个键。

    在您的示例中:

    NSDictionary *question = [NSDictionary dictionaryWithObjectsAndKeys:  
                    @"QuestionType", @"0",
                    @"Answer", @"1",
                    nil];
    for (NSString *key in [question allKeysForObject:@"QuestionType"]) {
        NSLog(@"Key: %@", key);
    }
    

    顺便问一下,你的钥匙有什么特别的原因吗( @"0" @"1" NSString 什么?您可以使用任何支持 NSCopying 作为钥匙,所以 NSNumber