Поскольку ваш json - это просто массив объектов, цикл foreach не нужен, и вы можете просто указать, что результатом декодирования должен быть массив News
, указав тип результата в квадратных скобках: [News].self
guard let news = try? JSONDecoder().decode([News].self, from: Data(jsonNews.utf8)) else {
debugPrint("An error has occurred")
return
}
debugPrint(news)
arrayNews = news
Кроме того, если нет конкретной причины, по которой ваша модель должна наследоваться от NSObject
, вы можете упростить ее, сделав ее struct
. Также вам не нужны значения по умолчанию, так как все значения будут назначаться инициализатором декодера
struct News: Decodable {
let idPlace, namePlace, dateMsg, msg, urlPicture: String
}