반응형
안녕하세요. KataRN입니다.
오늘은 Mutating에 대해 알아보겠습니다.
우선순위 힙에 대해 공부하다보니 Mutating가 보여서 정리하게되었습니다.
- mutating
클래스는 reference 타입이고 struct와 enum 는 value type입니다.
값 타입의 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없습니다.
만약 수정해야하는 경우 mutating을 붙여주면 됩니다.
mutating을 선언한 메서드는 메서드 내에서 프로퍼티를 변경할 수 있고, 메서드가 종료될 때 변경한 모든 내용을 원래 struct에 다시 기록합니다. 또한 메서드는 self property에 새 인스턴스를 할당할 수도 있습니다.
mutating 키워드는 해당 메서드가 호출된다면 실제 복사를 해야한다고 알려주는 역할입니다.
바로 예제로 보겠습니다.
이처럼 수정이 안됩니다. (immutable 보이시죠?)
그렇기 때문에 앞에 mutating을 붙여서 사용하면 해결할 수 있습니다.
간단하지만 짚고가면 도움될거라 믿습니다.
오늘도 읽어주셔서 감사합니다.
반응형
'Old_SWIFT(221012) > 기본이야기' 카테고리의 다른 글
Property Wrapper에 대하여 (0) | 2022.10.05 |
---|---|
함수의 종류(인스턴스 메서드, 타입 메서드, instance method, type method) (1) | 2022.10.04 |
멀티 스레딩을 위한 API(Operation Queue, NSOperation Queue) (0) | 2022.09.30 |
멀티 스레딩을 위한 API(GCD Queue) (0) | 2022.09.30 |
CGPoint, CGSize, CGRect, Bounds, Frame (0) | 2022.09.28 |