техсобес
задание со скрина, код писать не нужно. просто рассказать как планируешь разрабатывать такое приложение
первое задание, нужно исправить ошибки и сделать как считаешь правильно , можно полностью редактировать и менять, главное суть оставить, постаралась вспомнить, могут быть некоторые неточности
[[files/7177ed6a1ce9c318eb379ef68130755b_MD5.jpeg|Open: {50603E94-206D-4DBE-8C73-E49FA5D7D2E5}.png]] ![[files/7177ed6a1ce9c318eb379ef68130755b_MD5.jpeg]]
func loadData(card: String, completion: @escaping (CardAlbum?, Error?) -> Void) {
guard let url = URL(string: "https://url.hghjg.com") else { return }
URLSession.shared.dataTask(with: url) { data, response, error in
if let data = data {
let decodedData = try JSONDecoder().decode(CardAlbum.self, from: data)
completion(decodedData, nil)
} else if let error = error {
completion(nil, error)
}
}.resume()
}
}
struct CardAlbum: Codable {
let id: String
let card: Card
struct Card: Codable {
let number: String
let name: String
}
}
class ViewController {
let service = Service()
let cardIDs: [String]
init(cardIDs: [String]) {
self.cardIDs = cardIDs
}
func loadData(completion: @escaping ([CardAlbum]) -> Void) {
var albums: [CardAlbum] = []
for cardID in cardIDs {
service.loadData(card: cardID) { cardAlbum, error in
if let cardAlbum = cardAlbum {
albums.append(cardAlbum)
} else if let error = error {
print("Error loading data for card (cardID): (error)")
}
}
}
completion(albums)
}
}