如何使用节标题和节索引将XML数组解析为UITableView?

时间:2019-06-22 16:20:18

标签: swift xml indexing

我正在构建一个应用程序,该应用程序已按字母顺序加载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)")
                }
            }
        }

工作时,用户应该看到加载有节标题的项目,这些节标题以项目的第一个字母开头,并具有该表的表索引。

谢谢您的帮助。

0 个答案:

没有答案