Если ответ прост, то все очень просто.
Код: Выделить всё
struct Post: Decodable, Identifiable {
var userId: Int
var id: Int
var title: String
var body: String
}
class CryptoListViewModel: ObservableObject {
@Published var posts: [Post] = []
func fetchPosts() {
guard let url = URL(string: "https://jsonplaceholder.typicode.com/posts") else { return }
URLSession.shared.dataTask(with: url) { data, response, error in
guard let data = data, error == nil else { return }
let posts = try? JSONDecoder().decode([Post].self, from: data)
DispatchQueue.main.async {
self.posts = posts ?? []
}
}.resume()
}
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... e-from-api
Мобильная версия