#43: Reassigning self
Question
// Swift Quiz
— objc.io (@objcio) May 20, 2020
struct Person {
let name: String
mutating func changeName() {
// ...
}
}
var person = Person(name: "Florian")
person.changeName()
// Can you implement `changeName` so that it changes `https://t.co/Lp6nga6UC6`?
Solution
Answer: Yes, in plain Swift
— objc.io (@objcio) May 21, 2020
While you can't mutate `name` directly, you *can* reassign `self`:
mutating func changeName() {
self = Person(name: "Chris")
}