Здравствуйте все!
Существует задача: имеется JSON файл известной структуры содержащий сообщения социальной сети. Необходимо в зависимости от типа сообщения произвести определенные действия (картинку открыть в новом окне, перейти по ссылке открыв ее в браузере). Все сообщения отразить в виде отсортированной по дате таблицы.
Мне удалось распарсить файл и сделать сортировку. Однако дальше я продвинуться не могу, поскольку мой массив messagesSorted никак не выдается вовне сессии. Прошу помощи, пожалуйста. Делаю через URLSession дабы в дальнейшем знать как работать с JSON из сети.
import UIKit
class TableTableViewController: UITableViewController {
struct Message : Decodable {
var type : String
var date : String
var network : String?
var title : String?
var content : String?
var source : String?
}
override func viewDidLoad() {
super.viewDidLoad()
let urlString = "file:///Developer/TestCFT/messages.json"
guard let url = URL(string: urlString) else { return }
URLSession.shared.dataTask(with: url) { (data, responce, error) in
guard let data = data else { return }
guard error == nil else { return }
var messages = [Message]()
var messagesSorted = [Message]()
do {
messages = try JSONDecoder().decode([Message].self, from: data)
} catch let error {
print(error)
}
messagesSorted = messages.sorted(by: {$0.date > $1.date})
print(messagesSorted)
} .resume()
}
}