Spot the bug
This view model breaks MVVM. Tap the lines that do.
@Observable @MainActorfinal class ProfileViewModel {var name = ""var errorMessage: String?var nameLabel: UILabel?private let service: ProfileServiceinit(service: ProfileService) { self.service = service }func load() async {do {name = try await service.fetchName()nameLabel?.text = name} catch {errorMessage = error.localizedDescription}}}
Hint 1 of 1
Does a view model know about views?
Choose an answer, then open Show answer below to check it.
Show answer
- Answer: line 5
var nameLabel: UILabel? - Answer: line 11
nameLabel?.text = name
Lines 5 and 11 make the view model hold and drive a UIKit view. Expose name only and let the view render it.