這裏是我試圖解析Swift中的XML除了值之外的所有工作的問題。無法在函數外部訪問的變量Swift
import UIKit
class ItemParser: NSObject, XMLParserDelegate {
var parser = XMLParser()
var element:String!
var currentName:String = String()
func beginParsing()
{
parser = XMLParser(contentsOf:(NSURL(string:"URL"))! as URL)!
parser.delegate = self
parser.parse()
}
func parser(_ parser: XMLParser, didStartElement elementName: String, namespaceURI: String?, qualifiedName qName: String?, attributes attributeDict: [String : String])
{
element = elementName
}
func parser(_ parser: XMLParser, foundCharacters string: String)
{
if element.isEqual("name") {
currentName = string
}
print (currentName) -- displaying correctly
}
func parser(_ parser: XMLParser, didEndElement elementName: String, namespaceURI: String?, qualifiedName qName: String?)
{
if elementName.isEqual("inv") {
print("begginging")
print(currentName) -- displaying nothing
}
}
我的理解我已經宣佈在正確的位置所有變化,但變量沒有固定的功能之外。我究竟做錯了什麼?
謝謝你的工作。唯一的另一件事是,當我在didStart中將其取消時,它顯示爲空,但是當我在if語句的內側中將其取消時,一切正常。非常感謝 –