iphone - 你能从值中获取 NSDictionary 键吗

标签 iphone objective-c

有没有办法根据 NSDictionary 的值获取键值?我可以通过多种方式获取基于键的值,但我需要获取键。

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

NSDictionary *question = [NSDictionary dictionaryWithObjectsAndKeys:  
                @"QuestionType", @"0",
                @"Answer", @"1",
                nil];

最佳答案

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

在您的示例中:

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

顺便问一下,您的 key (@"0"@"1")是 NSString 是否有任何特殊原因?您可以使用任何支持 NSCopying 的对象作为键,因此 NSNumber 在这里可能是更好的选择。

关于iphone - 你能从值中获取 NSDictionary 键吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3475934/

相关文章:

iphone - 在 Interface Builder 和 XCode 中连接 UILabel?

iphone - 在基于导航的应用程序中将背景图像添加到 UITableViewController

ios - 获取iPhone经纬度

objective-c - 将类 y 中类 x 的编程实例链接到类 x 的 View Controller

iphone - UIAlertView 按钮( subview )未在 iOS 7 中显示

iphone - 为越狱的 iOS 设备开发应用程序?

c# - 地理位置 - 它是如何工作的?

ios - 使用 Xcode 机器人进行持续集成 : shared schemes vs. 构建配置

ios - iOS 版 Google map 中的自定义用户位置点 (GMSMapview)

ios - 使用带有 GUI 用户请求的 iOS 应用程序连接到 WiFi,而不是以编程方式