Skip to content

Instantly share code, notes, and snippets.

@laevandus
Created April 20, 2024 19:08
Show Gist options
  • Save laevandus/9970bf10d6980a11a6cf18a9299ac13a to your computer and use it in GitHub Desktop.
Save laevandus/9970bf10d6980a11a6cf18a9299ac13a to your computer and use it in GitHub Desktop.
final class ViewPresenter {
init(dataObserver: DataObserver) {
self.viewState = ViewState(dataObserver: dataObserver)
}
let viewState: ViewState
}
@MainActor final class ViewState: ObservableObject {
let dataObserver: DataObserver
nonisolated init(dataObserver: DataObserver) {
// Main actor-isolated property 'dataObserver' can not be mutated
// from a non-isolated context; this is an error in Swift 6
self.dataObserver = dataObserver
}
@Published private(set) var status: Status = .loading
@Published private(set) var contacts: [Contact] = []
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment