NSXMLParser プロセスが完了するのを待ってから、他のプロセスを続行したいと考えています。NSXMLParser を使用して XML データを解析します。
これは私のコードです:
- (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
NSLog(@"Did start element");
if ( [elementName isEqualToString:@"FILENAME"])
{
XML_FIELD = FILENAME_CLOUD2;
NSLog(@"found rootElement");
return;
}
else if ( [elementName isEqualToString:@"UPLOADTIME"])
{
NSLog(@"found rootElement");
XML_FIELD = UPLOADTIME2;
return;
}
}
didEndElement():
- (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
NSLog(@"Did end element");
if ([elementName isEqualToString:@"FILENAME"])
{
NSLog(@"rootelement end");
}
XML_FIELD = UNIMPORTANT2;
}
foudCharaters():
- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
if (XML_FIELD == FILENAME_CLOUD2)
{
NSLog(@"Value %@",string);
[FileCompletedArray insertObject:string atIndex:0];
}
else if (XML_FIELD == UPLOADTIME2)
{
NSLog(@"Value %@",string);
[UploadTimeArray insertObject:string atIndex:0];
}
}
上記のコードは NSXMLParser からデータを取得するために使用されますが、私のアプリは xml 解析プロセスが完了するまで待機する必要があります。使えますdispatch ()
か?