
τελική κλάση ProfileViewModel1 {
enum Κατάσταση { ... }
var κατάσταση: Κατάσταση = .idle
ας υπηρεσία: UserService
init(υπηρεσία: UserService) { ... }
func onBackPress() {
// view deinit
}
func loadUser() {
κατάσταση = .loading
Task { [weak self]
guard let self else { return }
do {
let χρήστης = try await self.υπηρεσία.fetchUser()
self.κατάσταση = .loaded(χρήστης)
} catch {
self.κατάσταση = .failed(error.localizedDescription)
}
}
}
}