首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NSDictionary中的NSDictionary

NSDictionary中的NSDictionary
EN

Stack Overflow用户
提问于 2011-03-23 22:45:07
回答 1查看 2K关注 0票数 5

目前,我已经获得了从xml文件中获取数据的以下代码。到目前为止,这是可行的

代码语言:javascript
复制
- (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);
    }
}

此字典将加载到数组中。问题是这个数组被加载的地方需要在数组中找到正确的条目。我是这样做的

代码语言:javascript
复制
 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;

但是由于数组与索引一起工作,所以我找不到一种方法来获得正确的条目。为了清楚起见,用户在地图视图中单击注释。然后,此注释将获得相应的详细视图。detailview视图可以检查view.annotation.title点击了哪个注释;

因此,我实际上需要一个字典中的字典,名称作为根字典中的关键字。这个是可能的吗?我可以用什么方式实现这一点呢?

这是不是有点清楚了?否则就直接问吧!

Thnx的家伙

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-03-23 22:47:09

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

代码语言:javascript
复制
NSMutableDictionary *outer=[[NSMutableDictionary alloc] init];
NSDictionary *inner=[NSDictionary dictionaryWithObject:@"hello" forKey:@"world"];
[outer setObject:inner forKey:@"greetings"];
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5406985

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档