gpt4 book ai didi

ios7 - 我用 Swift 实现的 NSXMLParser 适用于 iOS 8 但不适用于 7.1

转载 作者:搜寻专家 更新时间:2023-11-01 06:24:32 24 4
gpt4 key购买 nike

长话短说,我从 RSS 提要中提取了一些数据,一切正常。好吧,直到我决定在 iOS 7.1 模拟器上测试它。它立即崩溃了。

这是我在 ViewDidLoad 中创建的 XML 解析器:

    var parser = NSXMLParser()
var url: NSURL = NSURL.URLWithString("http://exampleURLforthisPost.com/?feed=rss2")

parser = NSXMLParser (contentsOfURL: url)

parser.delegate = self

parser.shouldProcessNamespaces = false

parser.shouldReportNamespacePrefixes = false

parser.shouldResolveExternalEntities = false

parser.parse()

它在 iOS 8 上运行良好,但是当我在 iOS 7.1 上运行它时,在“parser = NSXMLParser (contentsOfURL: url)”行上指定了“EXC_BAD_ACCESS”错误。运行 iOS 7.1 时我应该指定什么不同的东西吗?

感谢您的帮助!

最佳答案

我在 ios8 下遇到了同样的问题。但是,我有一个堆栈跟踪;

#0  0x000000010930b87c in CFStringCreateCopy ()
#1 0x000000010ae753d4 in Foundation._convertNSStringToString (ObjectiveC.NSString) -> Swift.String ()
#2 0x0000000108a3fffb in @objc Fuel_Locator.FuelWatchReader.parser (Fuel_Locator.FuelWatchReader)(ObjectiveC.NSXMLParser, didEndElement : Swift.String, namespaceURI : Swift.String, qualifiedName : Swift.String) -> () ()
#3 0x0000000108d2c6ad in _endElementNs ()
#4 0x0000000108b1dd96 in xmlParseEndTag2 ()
#5 0x0000000108b20424 in xmlParseTryOrFinish ()
#6 0x0000000108b1f4b0 in xmlParseChunk ()
#7 0x0000000108d299be in -[NSXMLParser parseData:] ()
#8 0x0000000108d29c1f in -[NSXMLParser parseData:] ()
#9 0x0000000108d29d7a in -[NSXMLParser parseFromStream] ()

这个结果不好,因为它表明当解析器试图快速复制它从 XML 中读取的 NSString 时就会出现问题。顺便说一句,只有当 didEndElement 方法即将在委托(delegate)中调用时才会发生这种情况。如果该方法不存在,则不会发生错误……但这几乎没有用。

关于ios7 - 我用 Swift 实现的 NSXMLParser 适用于 iOS 8 但不适用于 7.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25395754/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com