KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

Swift/Swift문법

Swift문법 - Memberwise Initialer

2023. 4. 30. 22:32

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
    'Swift/Swift문법' 카테고리의 다른 글
    • Swift문법 - required initializers
    • Swift문법 - Class Initializer
    • Swift문법 - Inheritance
    • Swift문법 - Method
    KWiOS
    KWiOS

    티스토리툴바