안녕하세요. narvis2 입니다.
이번시간에는 Swift
문법에 중에서도 Mutating
에 대하여 알아보는 시간을 가지도록 하겠습니다.
🍀 Mutating
값 타입
인Struct
에서는instance
method
내에서property
들을 수정할 수 없게 되어 있음❗️ Error ❗️
- Cannot assign property 👉
값 타입
인Struct
에서는method
안의 값을 수정할 수 없기 때문에 발생
- Cannot assign property 👉
- 이러한
property
들을Struct
안의method
에서수정
을 해주기 위해mutating
이라는 키워드를 사용 - ✅
mutating
👉 특정method
내에서Struct
또는Enum
property
를 수정해야 하는 경우 해당method
의 동작을 변경하도록 하는 것 Struct
나Enum
을 쓸때는 정말 중요한 키워드
예제 👇
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
struct Person {
let name: String
var age: Int
init (name: String, age: Int) {
self.name = name.uppercased()
self.age = age
}
// mutating 키워드를 사용하지 않으면 Cannot assign property Error 발생
mutating func changeAge() {
age = 10
}
}
var choi = Person(name: "choi", age: 29)
choi.changeAge()
print(choi.age)