일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 애니메이션
- Xcode
- Observable
- RxCocoa
- 리펙터링
- 리펙토링
- MVVM
- SWIFT
- Human interface guide
- 리팩토링
- Refactoring
- 클린 코드
- Protocol
- collectionview
- combine
- swift documentation
- HIG
- Clean Code
- ribs
- map
- 스위프트
- UITextView
- uiscrollview
- rxswift
- swiftUI
- ios
- tableView
- uitableview
- clean architecture
- UICollectionView
- Today
- Total
목록RunLoop.Mode (2)
김종권의 iOS 앱 개발 알아가기
CADisplayLink 개념 디스플레이의 주사율에 맞춰서, 특정 함수를 호출시킬 수 있는 타이머 개체 보통 타이머는 시간에 따라 호출되지만, CADisplayLink는 디스플레이 프레임(frame) 기준으로 발생하는 타이머 디스플레이의 갱신 주기에 맞춰서 특정 코드를 실행하도록 예약하는것 사용처) 애니메이션 및 그래픽 렌더링에 동기화하여 작업을 수행할 때 사용 CADisplayLink 화면 갱신 주기와 관련된 작업을 수행하는데 사용되므로, 디스플레이와 연결(link)를 제공한다는 의미 CADisplayLink 사용방법 * 예제 시작 코드 import UIKit class ViewController: UIViewController { private let button: UIButton = { let bu..
특정 이벤트가 왔을 때 쓰레드가 일해야 할 때는 일하고, 일이 없으면 쉬도록하기 위해 애플에서 만든 쓰레드관리 Loop 이벤트가 들어오면 이벤트 헨들러를 실행하는데, 이벤트 핸들러를 언제 실행하지 결정해주는 루프를 의미 Run Loop는 두 가지의 소스를 수신 1) input source: 한 루프 한바퀴를 도는 동안, 다른 스레드나 다른 응용프로그램의 비동기 이벤트가 수신된 것을 확인하고, 이벤트 핸들러 수행 2) timer source: 한 루프 한바퀴를 도는 동안, 예정된 시간이나 반복되는 간격으로 발생하는 동기 이벤트를 수신된 것을 확인하고, 이벤트 핸들러 수행 Thread를 생성하고 Thread.current에 접근할 때 Run Loop가 없다면 생성하고, 있으면 기존에 있으면 그것을 사용 Ru..