【发布时间】:2011-07-21 09:20:31
【问题描述】:
目前我有以下代码可以从 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);
}
}
这个字典将被加载到一个数组中。问题是这个数组被加载的地方需要在数组中找到正确的条目。我是这样做的
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。 detailview可以检查view.annotation.title点击了哪个注解;
所以我实际上需要一个字典中的字典,其名称作为根字典中的键。这可能吗?我可以通过什么方式实现它?
这有点清楚了吗?否则就问吧!
谢谢大家
【问题讨论】:
标签: iphone ios dictionary