У меня есть XML-файл с комментарием, у которого есть идентификатор в нижней части моего файла, который я успешно NSLog «ing» вышел на консоль. Я использовал NSXMLParser, чтобы найти комментарий с помощью метода foundComment. Затем у меня есть метод GetUID внизу, который я хочу вернуть строку uid. Я не уверен, как получить доступ к моим проанализированным данным и использовать их в другом отдельном методе. Любая помощь будет принята с благодарностью.Как я могу получить доступ к анализируемым XML-данным и использовать их другими способами?
XML FILE:
<audioTracks>0</audioTracks>
<!--7934fad5a3a -->
XMLParser.h
#import <Foundation/Foundation.h>
@interface MyXmlParserDelegate : NSObject <NSXMLParserDelegate>
@end
XMLParser.mm
#import "XMLParser.h"
@implementation MyXmlParserDelegate
- (void) parserDidStartDocument:(NSXMLParser *)parser {
}
- (void)parser:(NSXMLParser *)parser
foundComment:(NSString *)uid{
NSLog(@"UID: %@", uid);
}
- (void) parserDidEndDocument:(NSXMLParser *)parser {
}
@end
MAIN.mm
-(NSString *)GetUID {
NSString * uid = nil;
NSXMLParser *parser = [[NSXMLParser alloc] initWithData:MyData];
MyXmlParserDelegate *parserDelegate = [[MyXmlParserDelegate alloc] init];
[parser setDelegate:parserDelegate];
[parser parse];
return uid;
}
Я попытался сделать то, что вы сказали, но на строке возвратить parse.uid, он выдает сообщение об ошибке «Свойство на uid не найдено по типу объекта NSXMLParser» – Nick
Прошу прощения, что я очень новичок в объективе-C. Я чувствую, что это не должно быть так сложно назвать строку из другого метода. Ошибка все еще вызывает пень для меня. – Nick
Мне это должно быть жаль. В моем предложенном коде была ошибка. См. Править. Делегат синтаксического анализа содержит новое свойство, а не синтаксический анализатор. – danh