Всем привет! Ребята сильно не пинайте может повторяюсь. Нужен совет Имею класс который получает json данные. Эти данные передаю в др. класс чтобы отобразить во вью. Обмен через структуру. Сложность в том, что данные получаю, а вот во вью не передаются.
struct DetailDataFilm: Codable {
var data:DetailInfoFilm
}
struct DetailInfoFilm: Codable {
var id: Int? = nil
var name: String = ""
var premiere: String = ""
var duration: String = ""
var annotationFull: String = ""
var ageLimit: Int? = nil
var genre: String = ""
}
Класс делает запрос
import Foundation
class GetJsonDetailFilmInfo:NSObject {
var anonceMenuFilms: SheduleFilm?
var movieInfoTextView = DetailInfoFilm()
func getInfoMovie () {
let urlString = ""http://х.х.х.х:х/api/v2/
let url = URL(string: urlString)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as! [String: Any]
guard let dataToken = json["data"] as? String else {return}
let urlString = "http://х.х.х.х:х/api/v2/films/?id=4498
let url = URL(string: urlString)
URLSession.shared.dataTask(with: url!) { (data, response, error) in
if error != nil {
print(error as Any)
return
}
do {
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .convertFromSnakeCase
let jsonData = try decoder.decode(DetailDataFilm.self, from: data!)
var filmShedule = DetailInfoFilm()
DispatchQueue.main.async(execute: {() -> Void in
self.movieInfoTextView.annotationFull = jsonData.data.annotationFull
print("(self.movieInfoTextView.annotationFull)")
})
}
catch {
print(error)
}
}.resume()
} catch {
print(error)
}
}.resume()
}
}
Класс принимающий и отображающий
import UIKit
class DetailsFilmsViewController: UIViewController {
var getInfoFilm = DetailInfoFilm()
var anonceMenuFilms: SheduleFilm?
var getDeteilInfo = GetJsonDetailFilmInfo()
@IBOutlet weak var movieInfoTextView: UITextView! {
didSet {
movieInfoTextView.text = movieInfoTextView.annotationFull
}
}
override func viewDidLoad() {
super.viewDidLoad()
}