본문 바로가기

[Swift 5.1] 구조체 생성자에 기본값 지원 (SE-0242)

기술적인 이야기/애플 플랫폼 개발 2019. 10. 17.
반응형

SE-0242 Synthesize default values for the memberwise initializer에서 소개된 프로포절이 5.1에서 구현되었습니다.

워낙 간단한 변화이고 내용도 쉬운 편이라 예제를 프로포절의 것 그대로 옮겨봅니다.

struct Dog {
    var age: Int = 0
    var name: String
}

위 코드에서 주의 깊게 봐야 할 점은 age 프로퍼티에 초기값이 부여되어 있다는 점입니다. 그럼에도 기존 Swift 버전의 경우 생성되는 기본 생성자는 agename 두 파라미터 모두 초기값이 필요하게 생성되었습니다.

5.1부터는 이제 "초기값이 있는 프로퍼티는 굳이 생성할 때 값을 입력받을 필요가 없지 않냐"라는 요구가 받아들여져서 아래와 같이 사용할 수 있는 기본 생성자가 만들어집니다.

let sparky = Dog(name: "Sparky")

뭐 그냥 많이(?) 편해지는 변경점입니다.

글이 너무 짧지만 더 이상 적을 것이 없으므로 이만 줄입니다. 😁

728x90
반응형

댓글