일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 백준
- 프로그래머스
- 스위프트
- 생명주기
- 해시
- 차이
- Swift
- 풀이
- 안드로이드
- 이스케이핑
- 구조체
- View
- Self
- 리스트뷰
- ios
- 자바
- 옵셔널
- 알고리즘
- rx
- 테스크
- Subject
- concurrency
- 클로저
- RxSwift
- 연산자
- 프래그먼트
- async
- observable
- weak
- 서브스크립트
- Today
- Total
목록전체 글 (177)
study record
Responder Responder는 이벤트를 핸들링하고 이벤트에 반응할 수 있는 객체이다. 모든 responder 객체는 UIResponder에서 상속된 클래스들의 인스턴스이다. 이 클래스는 이벤트 핸들링을 위한 인터페이스와 responder들의 기본적인 행위를 정의한다. UIApplication, UIViewController 객체들, 모든 UIView 객체들을 포함한 많은 주요 객체들 또한 responder이다. 이벤트가 일어나면, UIKit는 이벤트 핸들링을 위해 해당 이벤트를 앱의 responder 객체들에게 보낸다. 이벤트의 종류엔 터치 이벤트, 모션 이벤트 등이 있다. 특정 이벤트를 핸들링하기 위해서는 responder가 해당 이벤트에 대응되는 메서드들을 오버라이드하여 구현해야 한다. 예시로..
Driver UI에 특화된 Observable로, MainScheduler에서 사용한다. error를 방출하지 않으며, Observable을 Wrapping한다. Driver는 다른 구현체에는 존재하지 않고, UI에 사용하기 위해 RxCocoa에 도입된 Observable의 특수 케이스이다. BehaviorRelay와 많은 공통점을 가지고 있으며, Observable을 UI 처리 목적으로 죽지 않는 스트림을 제공하기 위해 생성된 것이다. - 절대 종료되지 않는다. - 무조건 MainScheduler에서 돌아간다. - 구독 역시 MainScheduler에서 하는 것이 권장된다. 구독 메서드 : drive() 구독 시 가장 최근 이벤트를 받는다. 언제 사용? Main Thread를 사용하고자 할 때 .obs..
캐싱이란? 캐싱은 재사용될 수 있을만한 자원을 특정 영역에 저장해놓은 것을 의미한다. 캐싱된 데이터가 있다면 추가적인 자원을 소모하지 않고 캐싱 데이터를 가져다 쓸 수 있기 때문에 자원을 절약할 수 있고 애플리케이션의 처리 속도가 향상된다. 모바일 애플리케이션에서 매우 고화질의 이미지를 반복해서 보여주어야 할 때 캐싱이 없다면, 고화질, 고용량의 이미지를 계속해서 다운로드하기 때문에 사용자의 네트워크 리소스를 소모하고, 다운로드 완료까지의 시간동안 사용자는 이미지를 확인할 수 없다. 하지만 다운로드 받은 이미지를 캐싱하여 저장해둔다면, 별도의 리소스를 소모하지 않고 이미지를 빠르게 보여줄 수 있다. 메모리 캐싱 VS 디스크 캐싱 메모리 캐싱은 애플리케이션의 메모리 영역 일부분을 캐싱에 사용하는 것이다. ..
앱 사용시 발생하는 다양한 상황에 적절하게 대응해야 하기때문에 앱 생명주기를 이해하는 것은 중요하다. 앱 실행 main 함수 실행 main 함수가 UIApplicationMain 함수 호출 (App 실행 관리의 중점) UIApplicationMain 함수는 앱의 본체에 해당하는 객체인 UIApplication 객체 생성 싱글톤 객체로 Event Loop에서 발생하는 여러 이벤트들을 감지하고, Delegate에 전달하는 역할을 한다. 예시로 앱이 백그라운드로 갈 때, 메모리 부족 경고를 할 때 등의 상황들을 감지하여 Delegate에 전달한다. @UIApplicationMain 어노테이션이 있는 클래스를 찾아 AppDelegate 객체, SceneDelegate 객체 생성 Scene은 디바이스에서 실행되고..