1. 간단한 struct 예시
struct Person {
let name : String
var age : Int
init(name : String, age : Int) {
self.name = name.uppercased()
self.age = age
}
func changeAge() {
age = 99
}
}
2. mutating 적용해서 코드 정상화하기
Cannot assign property라는 에러가 발생했습니다.
값 타입인 구조체에서는 메소드안의 값을 수정할 수 없기 때문에 발생한 에러입니다. (클래스였으면 불필요)
changeAge() 메소드 앞에 mutating을 작성하여 값 타입 프로퍼티를 수정할 수 있게 만들 수 있습니다.
struct Person {
let name : String
var age : Int
init(name : String, age : Int) {
self.name = name.uppercased()
self.age = age
}
mutating func changeAge() {
age = 99
}
}
var minji = Person(name: "Kim", age: 9)
print(minji.name)
minji.changeAge()
print(minji.age)
'Development > iOS' 카테고리의 다른 글
[SwiftUI] 상세 페이지로 이동하기, 다른 페이지로 전환하기 (0) | 2023.03.09 |
---|---|
[Swift] 기본 문법 정리 11 : Override (0) | 2023.03.09 |
[Swift] 기본 문법 정리 9 : 옵셔널(Optional)과 옵셔널 바인딩(Optional Binding), 옵셔널 체이닝(Optional Chaining), nil 병합 연산자(nil coalescing operator) (0) | 2023.03.06 |
[Swift] 기본 문법 정리 8 : 클래스(Class)와 구조체(Structure) (1) | 2023.03.04 |
[Swift] 기본 문법 정리 7 : 함수 function (0) | 2023.03.04 |