Как я могу разобрать массив из XML в UITableView с заголовками разделов и индексами разделов? - PullRequest
0 голосов
/ 22 июня 2019

Я создаю приложение, которое загружает XML, который уже в алфавитном порядке. Я хотел бы иметь возможность классифицировать результаты в разделах с индексом таблицы, но я не уверен, как это сделать. Я посмотрел учебники о том, как сделать индекс таблицы, но я не знаю, как отсортировать массив результатов в подходящий словарь, чтобы это работало.

Мне удалось создать его там, где будут отображаться заголовки, но я не знал, как проанализировать другие xml-данные для сопоставления с подзаголовком или URL-адресом, используемым для didSelectRow (at: indexPath)

Код для загрузки результатов с использованием 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)")
                }
            }
        }

При работе пользователь должен видеть элементы, загруженные заголовками разделов, которые начинаются с первой буквы элементов и имеют индекс таблицы для таблицы.

Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...