iOS8上的NSXMLParser - NSXMLParser不支持可重入解析 [英] NSXMLParser on iOS8 - NSXMLParser does not support reentrant parsing
本文介绍了iOS8上的NSXMLParser - NSXMLParser不支持可重入解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有NSXMLParser问题,我试过 iOS8 NSXMLParser崩溃这个话题,但我真的没有得到解决方案。
I have NSXMLParser problem, and i tried iOS8 NSXMLParser crash this topic, but i really did not get the solution.
我正在创建另一个NXSMLParser委托并在另一个类中设置其委托。
I am creating another NXSMLParser delegate and setting its delegate in another class.
你能不能请一步一步告诉我该怎么做?我很困惑。
Could you please tell me what to do exactly, step by step? I am so confused.
这是我的代码;
这些代码行在STXMLParser中
These lines of codes are inside the STXMLParser
STXMLParser2 *stXMLParser2 = [[STXMLParser2 alloc]init];
stXMLParser2.xmlParser = [[NSXMLParser alloc] initWithData:responseLoader.xmlData];
[stXMLParser2.xmlParser setDelegate:self];
[stXMLParser2.xmlParser setShouldResolveExternalEntities:YES];
[stXMLParser2.xmlParser parse];
推荐答案
您可以尝试以下代码:
dispatch_queue_t reentrantAvoidanceQueue = dispatch_queue_create("reentrantAvoidanceQueue", DISPATCH_QUEUE_SERIAL);
dispatch_async(reentrantAvoidanceQueue, ^{
STXMLParser2 *stXMLParser2 = [[STXMLParser2 alloc]init];
stXMLParser2.xmlParser = [[NSXMLParser alloc] initWithData:responseLoader.xmlData];
[stXMLParser2.xmlParser setDelegate:self];
[stXMLParser2.xmlParser setShouldResolveExternalEntities:YES];
[stXMLParser2.xmlParser parse];
});
dispatch_sync(reentrantAvoidanceQueue, ^{ });
这篇关于iOS8上的NSXMLParser - NSXMLParser不支持可重入解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文