Я создаю приложение, которое загружает 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)")
}
}
}
При работе пользователь должен видеть элементы, загруженные заголовками разделов, которые начинаются с первой буквы элементов и имеют индекс таблицы для таблицы.
Спасибо за вашу помощь.