【发布时间】:2013-07-16 11:18:47
【问题描述】:
NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
[dict setObject:@"image1.jpg" forKey:@"USA"];
[dict setObject:@"image2.jpg" forKey:@"USA"];
[dict setObject:@"image3.jpg" forKey:@"USA"];
[dict setObject:@"image1.jpg" forKey:@"Brazil"];
[dict setObject:@"image2.jpg" forKey:@"Brazil"];
如果我使用:
NSArray *keys = [dict allKeys];
好的,我有一个 {USA, Brazil} 数组。
我想要的只是一个代码,我可以获取美国的所有对象。如果我使用:
NSArray *objectsforKey = [dict objectForKey:@"USA"];
我将得到一个只有一项的数组:image1.jpg valueforKey 同样的问题。 我需要该键的所有值。这可能吗?
【问题讨论】:
-
我不确定您是否了解字典的工作原理。为给定键设置新值将覆盖以前的值。
-
您确实需要将图像存储在数组中,在具有唯一国家/地区键的字典中。
-
嗨丹尼尔,我想知道这背后的逻辑。如果你想这样做是因为你得到了一个键的多个值。然后,您可以在数组中设置这些值,然后将该数组添加到您的 NSDictionary 中。据我所知,这对你有用。
-
你应该添加
[dict setObject:@[@"image1.jpg",@"image2.jpg", @"image3.jpg"] forKey:@"USA"]; -
您只在上面插入了两个元素。这就是为什么你只能检索两个。
标签: objective-c nsdictionary nsmutabledictionary