NSDictionary中的NSDictionary

Ios*_*ons 5 iphone dictionary ios

目前我有以下代码从xml文件中获取数据.这项工作到目前为止

- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
    attributes:(NSDictionary *)attributeDict{ 
    currentElement = [elementName copy];
    if ([elementName isEqualToString:@"Placemark"]) {
        placemarkData = [[NSMutableDictionary alloc] init];
        currentTitle = [[NSMutableString alloc] init];
    }
}

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string{
    if ([currentElement isEqualToString:@"name"])
        [placemarkData addObject:string forKey:currentElement];
    if ([currentElement isEqualToString:@"address"])
        [placemarkData addObject:string forKey:currentElement];
    if ([currentElement isEqualToString:@"coordinates"])
        [placemarkData addObject:string forKey:currentElement];
}

- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName
  namespaceURI:(NSString *)namespaceURI
 qualifiedName:(NSString *)qName{ 
    if ([elementName isEqualToString:@"Placemark"]) {
        [Placemarks addObject:[placemarkData copy]];
        NSString *batsen = [placemarkData objectForKey:@"name"];
        NSLog(@"adding story: %@", batsen);
    }
}
Run Code Online (Sandbox Code Playgroud)

这个字典将被加载到一个数组中.问题是这个数组加载的位置需要在数组中找到正确的条目.我是这样做的

 TabbedCalculationAppDelegate *appDelegate = (TabbedCalculationAppDelegate *)[[UIApplication sharedApplication] delegate];

    NSArray *jean = appDelegate.Placemarks;
    NSDictionary *boekje = [jean objectAtIndex:1];
    NSString *coordinaten = [boekje objectForKey:@"coordinates"];
    NSString *naam = [boekje objectForKey:@"name"];
    NSLog(@"poep: %@" , naam);
    NSLog(@"wwhoppa: %@", coordinaten);
    titel.text = coordinaten;
Run Code Online (Sandbox Code Playgroud)

但由于数组与索引一起工作,因此无法找到获得正确输入的方法.为了澄清,用户在注释的地图视图中单击.然后,此注释将获得相应的详细视图.detailview可以检查view.annotation.title点击了哪个注释;

所以我实际上需要一个字典中的字典,其名称为根字典中的键.这可能吗?以及我可以用什么方式实现这个?

这有点清楚吗?其他只是问!

Thnx家伙

Nic*_*ore 4

是的,这是个好主意。只需将“内部”字典作为对象参数传递给setObject:forKey:“外部”字典即可。它会起作用的。例如:

NSMutableDictionary *outer=[[NSMutableDictionary alloc] init];
NSDictionary *inner=[NSDictionary dictionaryWithObject:@"hello" forKey:@"world"];
[outer setObject:inner forKey:@"greetings"];
Run Code Online (Sandbox Code Playgroud)