Я использую NSXMLParser в своем файле RootViewController.m.
NSXMLParser *xmlParser = [[NSXMLParser alloc] initWithData:response_data];
[xmlParser setDelegate:self];
[xmlParser parse];
[xmlParser release];
Я также реализую этот метод для добавления записей в словарь, определенный в RootViewController.m, для последующего использования:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
Однако я хотел бы получить более одного XML-файла и делать разные вещи с его узлами; похоже, мне нужно использовать внешние файлы в качестве делегатов. Мой вопрос:
Если у меня есть следующие файлы реализации (и их файлы заголовков):
- RootViewController.m
- XMLDelegate1.m
- XMLDelegate2.m
и установите i
th делегата NSXMLParser как XMLDelegatei
.m, как я могу заставить эти файлы возвращать NSDictionary, который затем можно добавить в NSDictionary, определенный в RootViewController.m?
Я предполагаю, что есть два возможных ответа:
- Используйте метод, о котором я не знаю; или
- Используйте лучший рабочий процесс
Подозреваю, что 2, но надеюсь, что 1.
Спасибо, Энди
ОБНОВЛЕНИЕ: Итак, я нашел способ достижения цели, хотя я не уверен, что это самый лучший способ. По сути, я заставляю своего делегата обновлять файл Plist и использую Центр уведомлений, чтобы узнать, когда это происходит.