Я использую 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 значение XMLDelegate i
.m, как я могу заставить эти файлы возвращать NSDictionary, который я могузатем добавьте в NSDictionary, определенный в RootViewController.m?
Я думаю, есть два возможных ответа:
- Используйте метод, о котором я не знаю;или
- Используйте лучший рабочий процесс
Я подозреваю, что это 2, но надеюсь, что это 1.
Спасибо, Энди
ОБНОВЛЕНИЕ: Так что я нашел способ достижения цели, хотя я не уверен, что это самый хороший способ.По сути, я получаю от своего делегата обновление файла Plist и использую Центр уведомлений, чтобы узнать, когда это происходит.