1.옵셔널 바인딩: if-let, guard 구문 2가지가 있다. (참이 먼저 실행됨 / return)
변수, 상수가 정의 되어있는 곳이 다르다.의 차이
어떤 상황에 if-let, guard구문을 각각 쓰는게 나은가?
if-let 은 중괄호가 더 늘어남.
2. 프로퍼티란? var, let 으로 선언했던 형태가 클래스나 구조체에 들어가면 이렇게 부름.
프로퍼티를 인스턴스를 기준으로 나눈다면? - 2가지로 나뉜다: 인스턴스 / 타입(static)
단, 프로퍼티를 역할 기준으로 나눈다면? 저장 / 연산 / 감시자 프로퍼티로 나뉜다. (인스턴스 / 타입 둘다 될 수 있음)
오늘 내용: 저장 프로퍼티
저장 프로퍼티(상수 저장 프로퍼티/변수 저장 프로퍼티 - 상수로 선언했냐 변수로 선언했냐의 차이)
인스턴스 프로퍼티 vs. 타입 프로퍼티(static으로 선언)
-인스턴스 프로퍼티 (인스턴스를 통해 접근할 수 있는 프로퍼티)
-타입 프로퍼티: 앞에 static이 붙으면 메모리에 한군데에서만 저장. 타입 그 자체로서 사용. 인스턴스를 만들어 사용하는게 아니라 바로 User.staticNickname으로 사용 (클래스 타입으로 접근)
호출하지 않으면 초기화하지 않음. User.staticNickname로 불러줘야 초기화됨.
값이 변하지 않는 걸 이걸로 선언해두면 좋음.
User.staticNickname // 메모리에 올라감. 인스턴스를 생성한다고 해서 초기화가 되지 않고, 사용할 때 초기화가 된다.
// 호출시 메모리에 올라가서 앱이 꺼질때까지 사라지지 않음.
cf)
typeProperty_practice.playground 파일 참조
'iOS > iOS SeSAC 2기 TIL' 카테고리의 다른 글
값 전달 (0) | 2022.07.24 |
---|---|
iOS swift 스토리보드 특정 VC -> 다른 VC 화면전환 (0) | 2022.07.21 |
Navigation Bar button item 코드로 짜는 방법 (0) | 2022.07.21 |
Kingfisher, Toast-Swift (0) | 2022.07.20 |
iOS swift CollectionViewController (0) | 2022.07.20 |