개발_iOS/스위프트
[Swift] 100 Days of Swift - Day 9 정리
sophie_l
2022. 3. 28. 13:34
https://www.hackingwithswift.com/100/9
Day 9 – 100 Days of Swift
Follow the 100 Days of Swift and learn to build apps for free.
www.hackingwithswift.com
1. 이니셜라이저: 모든 구조체는 자동 생성되는 이니셜라이저가 하나씩 있는데 이를 memberwise initializer이라고 한다. 사용자가 원한다면 이를 대체할 수 있는 자신만의 이니셜라이저를 만들 수 있다. 사용자 지정 이니셜라이저를 만든다면 이니셜라이저 안에 모든 프라퍼티에 값을 할당해줘야 한다.
init() { }
// func()를 쓰지 않는다.
2. lazy properties: 필요할 때만 사용할 수 있는 프라퍼티. lazy properties are created only when first accessed.
lazy var propertyName
⭐️ 3. static 프라퍼티와 메서드: static 키워드를 사용하면 구조체의 모든 인스턴스들이 프라퍼티나 메서드를 공유할 수 있게 해준다.
struct Person {
static var count = 0
var name: String
init(name: String) {
self.name = name
Person.count += 1
}
}
print(Person.count)
// 예를 들면 새로운 인스턴스가 생성될 때마다(이니셜라이저가 작동할 때마다) 개수를 세주고 싶은 경우.
4. access control: private 키워드를 사용함으로써 해당 구조체 안에 있는 메서드들만 프라이빗 프라퍼티를 읽을 수 있음
private var propertyName