На данный момент у меня есть следующий код для получения данных из 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;
Но так как массивы работают с индексом, я не могу найти способ получить правильную запись. Чтобы уточнить, пользователь нажимает в представлении карты на аннотации. Эта аннотация затем получает соответствующий подробный вид. В подробном представлении можно проверить, какая аннотация нажата view.annotation.title;
Так что мне действительно нужен словарь в словаре с именем в качестве ключа в корневом словаре. Это возможно? и каким образом я могу это реализовать?
Это немного понятно? Остальное просто спроси!
Спасибо, ребята