如何从NSDictionary获取密钥对象?

时间:2011-12-13 09:31:18

标签: iphone objective-c ios4 nsdictionary

在名为dict的词典中,键值对为:

  

“alba \ U2019s window”=“westindies中的模特。”;

发送objectForKey:我得到的字符串就像“alba的窗口”。当我发送如下:

  

[dict objectForKey:alba的窗口];

我没有得到任何东西,它显示为空。

3 个答案:

答案 0 :(得分:18)

对于初学者,您可能希望将其设为实际字符串,如下所示:

[dict objectForKey:@"alba's window"];

另请注意,\U2019不是';但是,这完全是一个不同的角色。

更一般地说,坚持使用[a-zA-Z0-9]+字典键可能是一个好主意,除非您使用与键完全相同的字符串以编程方式插入和检索。

答案 1 :(得分:6)

从iOS6开始,从NSDictionary设置和访问密钥对象的便捷方法是:

//Setting the object in NSMutableDictionary
dictionary[@"someKey"] = @"someString";

//Accessing the object
NSString *str = dictionary[@"someKey"];

答案 2 :(得分:2)

确保您的dict不为空;向空对象发送消息将无提示失败并返回null

检查键/值的另一种方法是简单NSLog(@"%@",dict);,这将显示字典的内容。请注意,当值包含空格时,此输出仅显示值周围的引号。

此外,请确保您使用与键相同的字符串对 - 除了"alba\U2019s window"之外,您似乎还在使用"alba's window"