Skip to content

Instantly share code, notes, and snippets.

View SebastianBoldt's full-sized avatar
:octocat:

Sebastian Boldt SebastianBoldt

:octocat:
View GitHub Profile
actor BankAccount {}
actor BankAccount {
private var balance: Int = 0
let accountHolder: String? // 3.
init(accountHolder: String) {
self.accountHolder = accountHolder // 2.
}
func logBalance() {
print(balance) // Accessing Balance without await
actor BankAccount {
var balance: Int = 0
let accountHolder: String?
init(accountHolder: String) {
self.accountHolder = accountHolder
}
func logBalance() {
print(balance) // Accessing Balance without await
actor BankAccount {
private let accountHolder: String?
// .....
nonisolated func logAccountHolder() {
print(accountHolder ?? "No account holder")
}
}
Task {
let bankAccount = BankAccount(accountHolder: "Sebastian Boldt")
func loadData() async -> Data {
return Data()
}
func refreshUI(with data: Data) async {
let data = await loadData()
await MainActor.run {
view.update(with: data)
}
}
let viewState = await MainActor.run { () -> ViewState in
// ....
}
Task {
await MainActor.run {
// ....
}
}
// or
Task { @MainActor in
// .....