1
我目前正在使用swift並試圖製作RSS閱讀器iOS iPhone應用程序。我目前在調用解析器函數時遇到問題。我真的想用Swift來複制我在Objective-C中開發的工具(這很好用)。Xml解析器函數永遠不會被調用
這是我tableView.swift class
import UIKit
class FeedTableViewController: UITableViewController, NSXMLParserDelegate {
var parser: NSXMLParser = NSXMLParser()
var feeds: NSMutableArray = []
var fItem = Dictionary<String, Float>()
var fTitle: String = String()
var element: String = String()
override func viewDidLoad() {
super.viewDidLoad()
var url: NSURL = NSURL.URLWithString("http://feeds.feedburner.com/TouchCodeMagazine")
parser = NSXMLParser(contentsOfURL: url)
parser.delegate = self
parser.shouldResolveExternalEntities = false
parser.parse()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
// #pragma mark - Table view data source
override func numberOfSectionsInTableView(tableView: UITableView?) -> Int {
return 1
}
override func tableView(tableView: UITableView?, numberOfRowsInSection section: Int) -> Int {
return feeds.count
}
override func tableView(tableView: UITableView?, cellForRowAtIndexPath indexPath: NSIndexPath?) -> UITableViewCell? {
let CellId: NSString = "Cell"
var cell: UITableViewCell = tableView?.dequeueReusableCellWithIdentifier(CellId) as UITableViewCell
if let ip = indexPath {
cell.textLabel.text = "hello\(ip.row)"
}
return cell
}
// This function is never called.
func parser(parser: NSXMLParser!, didStartElement elementName: String!, nameSpaceURI namespaceURI: String!, qualifiedName: String!, attributes attributeDict: Dictionary<String, Float>) {
element = elementName
println(element) // This line is never executed.
}
}
我已經設置了NSXMLParserDelegate但它仍然不會被調用。
有什麼想法,我可以做些什麼來得到這個工作?這是迄今爲止我所有的代碼。也許我需要導入一個特定的框架?
即時通訊不好意思,但我也沒有得到它(我試了一下) - 你不缺少框架,網址是有效的,數據也可以從它加載,解析器遇到沒有錯誤(檢查println(「\(parser.parserError)」)解析後...我不知道但是...這看起來像一個錯誤 –
謝謝@ Daij-Djan我會繼續調查,看看爲什麼會發生這種情況。 – Led