one way is to call function from Task, that will set new value for personName
let person = Person()
var personName: String
print("start")
let nameTask = Task {
return await person.name
}
Task {
do {
let getNewName = try await nameTask.result.get()
changeName(newName: getNewName)
// Error: Mutation of captured var 'personName' in concurrently-executing code
} catch {
print("error!!!")
}
}
func changeName(newName: String){
personName = newName
}
print("The person's name is \(personName)")
}
Topic:
Programming Languages
SubTopic:
Swift
Tags: