Im Moment habe ich den folgenden Code, um Daten aus einer Xml-Datei zu erhalten. Das funktioniert bis jetzt
- (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);
}
}
Dieses Wörterbuch wird in ein Array geladen. Das Problem ist, dass, wo dieses Array geladen wurde in müssen den richtigen Eintrag in das Array zu finden. Ich mache es wie folgt
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;
Aber da Arrays mit Index arbeitet, kann ich keinen Weg finden, um den richtigen Eintrag zu erhalten. Zur Verdeutlichung: Ein Benutzer klickt in einer Kartenansicht auf eine Anmerkung. Diese Annotation erhält dann die entsprechende Detailansicht. Die Detailansicht kann anhand des view.annotation.title überprüfen, welche Anmerkung angeklickt wurde;
Ich brauche also ein Wörterbuch in einem Wörterbuch mit Name als Schlüssel im Root-Wörterbuch. Ist dies möglich? und auf welche Weise kann ich dies implementieren?
Ist das ein wenig klar? Sonst einfach fragen!
Danke Jungs