iOS8上的NSXMLParser – NSXMLParser不支持可重入语法分析
我有NSXMLParser的问题,我试图iOS8的NSXMLParser崩溃这个话题,但我真的没有得到解决scheme。
我正在创build另一个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, ^{ });
我得到了同样的错误,事实certificate,这个问题是由于调用func parserDidEndDocument(parser: NSXMLParser)
的UI更新,它不会在主线程上运行。 强制该函数中的UI更新在主队列上运行后,问题已解决。
最近我遇到了同样的问题,但事实certificate,我的一个代表(KVO问题)有个例外,一旦我确定重入错误消失了。 所以,如果你没有明显的multithreading或多实例问题,可能还需要寻找其他的东西。
- 如何左alignmentUISearchBar占位符文本
- 了解适用于iOS开发人员的HLS
- 执行“if”条件“x”毫秒并停止“y”毫秒并重复条件?
- 如何将一个触摸事件从一个UIView传递到它下面的UIView?
- NSArray:删除具有重复属性的对象
- Xcode 8.0命令/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swiftc失败,退出代码1
- 如何在SWIFT中解析时以一种字符串格式将这个格式的“2015-06-11T00:00:00.000Z”添加到swift中的小时数
- 如何从1个xcode项目中保存所有构建设置并在其他xcode项目中使用它们?
- MagicalRecord – saveinBackground不持久数据?