Memberwise Initialer
구조체에서만 사용하고 자동으로 제공하는 생성자
구조체에서 저장 프로퍼티의 타입만 지정해주고 인스턴스를 생성할때 자동완성으로 파라미터를 받도록 해주는 이니셜라이저
저장 속성이 var로 선언되어있을때 제공 (기본값이 선언되어있어도 사용 가능)
저장 속성이 let으로 선언되어있으면 기본값이 없을때만 제공
구조체 내부에서 init을 구현하면 멤버와이즈 이니셜라이저는 더이상 제공되지 않음
익스텐션에서 init을 구현하면, 멤버와이즈 이니셜라이저와 파라미터를 받는 이니셜라이저 둘다 사용 가능.
// let 사용시 초기값 없을때
struct Test {
let first: String
let second: String
}
let test = Test(first: "a", second: "b")
// let 사용시 초기값 있을때
struct Test1 {
let first: String = "a"
let second: String
}
let test1 = Test1(second: "b")
// var 사용시엔 초기값이 있으나 없으나 멤버와이즈 이니셜라이저 제공)
struct Test2 {
var first: String
var second: String
}
var test2 = Test2(first: "a", second: "b")'Swift > Swift문법' 카테고리의 다른 글
| Swift문법 - required initializers (0) | 2023.05.14 |
|---|---|
| Swift문법 - Class Initializer (0) | 2023.05.07 |
| Swift문법 - Inheritance (1) | 2023.04.23 |
| Swift문법 - Method (0) | 2023.04.16 |
| Swift문법 - self & super (0) | 2023.04.02 |