소피it블로그

[Swift] 100 Days of Swift - Day 9 정리 본문

개발_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