18일차 수업을 듣고 새로 배운 것과 공부할 것을 정리한 글입니다.
Learned
프로퍼티 옵저버
- 주로 저장 프로퍼티에 사용하고 프로퍼티를 관찰하다가 값이 변경되려고 할때 호출된다.
(연산 프로퍼티와 함께 쓸 수 없다.) - willSet : 값이 변경되기 전에 호출, newValue 매개변수로 새로운 값을 전달받는다.
- didSet : 값이 변경된 후에 호출, oldValue 변수에 기존 값이 저장된다.
인스턴스 / 타입(static, class) 메서드
- 인스턴스 메서드에서는 인스턴스 및 타입 프로퍼티를 모두 사용할 수 있지만,
타입 메서드에서는 타입 프로퍼티만 사용 가능하다. (타입 이름 생략 가능) - 메소드에 class 키워드를 사용해서 수퍼 클래스 (부모 클래스)의 타입 메서드를
서브 클래스에서 재정의할 수 있게 만들 수 있다. - 구조체의 인스턴스 메서드에서 인스턴스 프로퍼티의 값을 변경할 수 없다.
함수에 mutating 키워드를 사용하면 가능하다.
UITableView
- 테이블뷰는 일관된 UI와 UX를 제공하기 위해 프로토콜을 통해 미리 정해진 기능을 제공한다.
- 테이블뷰를 사용하려면 이 프로토콜을 conform해서 필요한 기능을 정의해야한다.
- 테이블뷰는 UITableViewDataSource와 UITableViewDelegate 프로토콜을 제공하며
cellForRowAt, didSelectRowAt 등의 메소드를 정의해서 기능을 사용할 수 있다. - 테이블뷰는 Cell을 통해 화면을 구성하기 때문에 다른 UI 객체를 담을 수 없다.
Learning
- COW (Copyed-On-Write) 알아보기
이상입니다.
'TIL' 카테고리의 다른 글
[Sesac IOS] 20일차 TIL (0) | 2022.07.29 |
---|---|
[Sesac IOS] 19일차 TIL (0) | 2022.07.28 |
[Sesac IOS] 17일차 TIL (0) | 2022.07.26 |
[Sesac IOS] 15일차 TIL (0) | 2022.07.22 |
[Sesac IOS] 13~14일차 TIL (0) | 2022.07.22 |