iOS 개발일지
0819 새싹 34회차 정리 - NSNotification 본문
iOS 앱 개발자 데뷔 과정 34회차
#1. Checklist
- BaseViewController
뷰컨트롤러에서 공통적으로 작성되는 코드를 구조화함으로써 가독성을 높이고 코드 중복도 줄일 수 있다.
사용할 때는 UIViewController 대신 만들어놓은 BaseViewController를 상속시킨다.
- CustomView
뷰컨트롤러의 루트뷰를 커스텀뷰로 교체하여, 루트뷰 위에서 동작하는 UILabel, UIButton과 같은 뷰들의 레이아웃을 UIView에서 책임지게 하는 설정 방법이다.
view의 기본값은 nil로 설정되어 있고, nil인 경우에는 뷰컨트롤러가 내부적으로 loadView를 호출해 view를 반환한다.
- loadView
만들어놓은 커스텀뷰를 사용하기 위해서는 뷰를 교체하는 작업이 필요하다.
loadView를 호출하여 직접 초기화를 하면 되는데, 이 때 코드로 구현한 경우에는 super 메서드를 직접 호출하지 말아야 한다.
- NSNotification
VC간의 데이터를 전달하는 또 다른 방법으로, NSNotification을 이용한다.
받는 쪽에서는 옵저버를 생성하고, 옵저버가 감지하기 시작한 때부터 정보를 전달받을 수 있기 때문에 역방향 정보전달에 적합하다.
- post
- addObserver
- removeObserver
- Required Initializer
- required override init
[Required Initializer / init(frame: )와 init(coder: )는 뭐가 다를까?] 참고
- Deinitializer
클래스 타입에서만 구현할 수 있으며, init과 반대로 클래스의 인스턴스가 메모리에서 해제되는 시점에 호출된다.
인스턴스가 해제되는 시점에 해야할 일을 구현할 수 있으며, 매개변수를 지닐 수는 없다.
#2. Assignment
[7주차 마무리] 참고
'SeSAC iOS 데뷔과정 2기' 카테고리의 다른 글
0822 새싹 35회차 정리 - Realm (0) | 2022.08.23 |
---|---|
0821 새싹 7주차 마무리 (0) | 2022.08.21 |
0818 새싹 33회차 정리 - TypeCasting, Generic (0) | 2022.08.18 |
0817 새싹 32회차 정리 - CodeBase AutoLayout (0) | 2022.08.17 |
0816 새싹 31회차 정리 - 접근제어자, UIPageViewController (0) | 2022.08.16 |