我正在构建一个应用程序,该应用程序已按字母顺序加载XML。我希望能够使用表索引将结果分类到各个部分中,但是我不确定如何做到这一点。我看过有关如何创建表索引的教程,但是我不知道如何将结果数组排序到适当的字典中才能起作用。
我能够创建显示标题的位置,但是我不知道如何解析其他xml数据以匹配子标题或用于didSelectRow(at:indexPath)的URL
使用XMLParserManager加载结果的代码
func loadXml(_ data: URL) {
DispatchQueue.global(qos: .default).async {
let myParser : XMLParserManager = XMLParserManager().initWithURL(data) as! XMLParserManager
self.myFeed = myParser.feeds
DispatchQueue.main.async {
if self.myFeed.count == 0 || !((self.reachability?.isReachable)!) {
let alertView: UIAlertController = UIAlertController(title: "Alert", message: "There seems to be a problem getting information from the server. Please try again or check your internet connection.", preferredStyle: .alert)
let okbutton: UIAlertAction = UIAlertAction(title: "OK", style: UIAlertAction.Style.default, handler: nil)
alertView.addAction(okbutton)
self.present(alertView, animated: true, completion: nil)
} else {
for item in self.myFeed {
self.namesArray.append(((item as AnyObject).object(forKey: "name") as? String)!)
if let dateObject = (item as AnyObject).object(forKey: "currentDate") as? String {
self.datesArray.append(dateObject)
}
}
self.tableView.reloadData()
print("loaded feed is \(self.myFeed)")
}
}
}
工作时,用户应该看到加载有节标题的项目,这些节标题以项目的第一个字母开头,并具有该表的表索引。
谢谢您的帮助。