일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 옵셔널
- 생명주기
- 알고리즘
- View
- 풀이
- weak
- 리스트뷰
- 안드로이드
- 백준
- 클로저
- 구조체
- 프래그먼트
- Swift
- 프로퍼티
- noncopyable
- observable
- RxSwift
- ios
- 자바
- async
- rx
- Subject
- 차이
- concurrency
- 해시
- 스위프트
- Self
- 프로그래머스
- 이스케이핑
- 연산자
- Today
- Total
목록iOS (42)
study record
GCD란? 멀티코어와 멀티 프로세싱 환경에서 최적화된 프로그래밍을 할 수 있도록 애플이 개발한 기술. 언제 GCD를 사용하게 되는가? 이벤트들을 비동기적으로 처리하지 않으면 메인 스레드에서 데이터를 가져오고 기다렸다가 UI를 업데이트하며 지연이 발생할 수 있다. 데이터베이스에서 데이터를 한번에 지연없이 가져올 수 없는 경우가 발생하기 때문이다. 이렇게 되면 데이터를 가져올 때까지 UI update도 늦어지게 된다. 이러한 경우를 해결하기 위해 GCD를 사용하게 된다. 뿐만 아니라 네트워킹, 이미지 프로세싱 등 많은 작업을 메인 스레드에서 모두 진행하게 되면 User Interface의 대응이 느려지거나 중지가 되기 때문이다. GCD는 비동기 Queue(Dispatch Queue)를 생성하고, 데이터를 G..

Subject Subject란 Observable이자 Observer의 성격을 지니고 있다. Subject는 동적으로 값을 발행할 수 있다. Subject는 구독하고 있는 여러 Observer들에게 값을 발행할 수 있다. Subject는 Observable을 상속하고 있다. 이는 Subject가 Observable이자 Observer라는 것을 의미한다. Observer(관찰자)의 성격을 지니고 있기 때문에 Observable을 구독할 수 있다. Observable이기 때문에 이벤트를 발행할 수도 있다. * view의 유저 인터렉션을 viewModel의 Subject가 구독하고, 구독을 통해 발행된 값을 바탕으로 viewModel에서 비즈니스 로직을 거쳐 가공된 데이터를 View가 구독함으로써 로직을 구성..
Observable : 특정 형태의 데이터를 전달하는 이벤트를 비동기적으로 생성할 수 있는 객체. Observable은 Hot Observable, Cold Observable 두가지 종류로 구분될 수 있다. Hot Observable과 Cold Observable을 구분하는 기준은 다음과 같다. 이벤트 발생이 시작되는 시점(구독시 vs 구독과 관계 없이) 구독했을 때 이벤트 시퀀스를 처음부터 관찰할 수 있는가(있다 vs 없다) Hot Observable Hot Observable은 구독 여부에 상관 없이 이벤트를 발생시키기 때문에 일단 동작하기 시작하면 리소스를 사용하게 된다. 따라서 구독했을 때 이벤트 시퀀스를 처음부터 관찰하지 못할 수 있다. 구독하는 시점에 따라서 전달받는 요소가 다르다. 또한 이..
// 먼저 행간 조절 스타일 설정 let style = NSMutableParagraphStyle() style.lineSpacing = 10 let attributedString = NSMutableAttributedString(string: textView.text) // 자간 조절 설정 attributedString.addAttribute(NSAttributedString.Key.kern, value: CGFloat(2.0), range: NSRange(location: 0, length: attributedString.length)) // 행간 스타일 추가 attributedString.addAttribute(NSAttributedString.Key.paragraphStyle, value: sty..