Прежде всего, пожалуйста, назовите этикетку в соответствии с соглашением об именах lowerCamelCased
@IBOutlet weak var titleLabel: UILabel!
Вы должны вызвать метод для извлечения данных в viewDidLoad
(в этом случае не обязательно помечать как @objc
)
override func viewDidLoad() {
super.viewDidLoad()
getNewTitles()
}
И, как уже упоминалось в комментариях, вы должны обновить ярлык в главной теме
do {
let todo = try JSONDecoder().decode(ToDo.self, from: data)
DispatchQueue.main.async {
self.titleLabel.text = todo.title
}
} catch { ...
И объявить структуру хотя бы в области видимости класса или выше
class ViewController: UIViewController {
struct ToDo : Decodable {
let userId, id : Int
let title : String
let completed : Bool
}
...