我有NSXMLParser问题,我尝试了iOS8 NSXMLParser crash这个主题,但我确实没有得到解决方案。

我正在创建另一个NXSMLParser委托,并将其委托设置在另一个类中。

您能一步一步告诉我该怎么做吗?我感到很困惑。

这是我的代码;

这些代码行在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, ^{ });

关于ios - iOS8上的NSXMLParser-NSXMLParser不支持可重入解析,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25642070/

10-13 06:35