iOS/iOS
mutating
황민우
2022. 3. 17. 20:04
정의
- 스위프트에서 클래스는 참조 타입이고 구조체와 열거형은 값 타입입니다.
- 값 타입의 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없습니다.
- 값 타입의 속성을 수정하기 위한 목적으로 mutating 키워드를 사용합니다.
예제
- 인스턴스 메서드에서 mutating 키워드를 사용해야 합니다.
- mutating 키워드를 사용하지 않는다면, error가 발생합니다.
struct mutatingTest {
var x = 0.0, y = 0.0
mutating func TestOne(x testX: Double, y testY: Double){
print("testX: ",x)
print("testY: ",y)
x += testX
print("testX: ",x)
y += testY
print("testY: ",y)
}
}
var TestPrint = mutatingTest(x: 1.0, y: 1.0)
TestPrint.TestOne(x: 2.0, y: 2.0)
// 실행결과
// testX: 1.0
// testY: 1.0
// testX: 3.0
// testY: 3.0
내용 출처
https://hyerios.tistory.com/190
스위프트 mutating 키워드
스위프트에서 클래스는 레퍼런스 타입이고 구조체와 열거형은 값 타입입니다. 값 타입의 속성은 기본적으로 인스턴스 메서드 내에서 수정할 수 없습니다. 값 타입의 속성을 수정하려면 인스턴
hyerios.tistory.com
[Swift] mutating
지난시간에 구조체, 클래스를 배웠는데요! 오늘은 구조체 안에 메소드를 변경할 수 있게 해주는 mutating 메소드를 알아볼거에요 ! 구조체 mutating 사전적의미 mutate: 돌연변이가 되다. / 돌연변이를
peppo.tistory.com