일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Protocol
- collectionview
- 애니메이션
- ios
- 리펙터링
- Xcode
- SWIFT
- tableView
- RxCocoa
- combine
- Observable
- swift documentation
- 클린 코드
- clean architecture
- map
- Clean Code
- Refactoring
- 스위프트
- 리팩토링
- Human interface guide
- uiscrollview
- 리펙토링
- swiftUI
- HIG
- UITextView
- rxswift
- ribs
- UICollectionView
- MVVM
- uitableview
- Today
- Total
목록OPERATION (4)
김종권의 iOS 앱 개발 알아가기
OperationQueue를 사용하여 Noti 구현 NotificationView를 OperationQueue를 사용하여 보여지게 만들면, NotificationView 관련 작업을 cancel, suspend 할 수 있어서, 하나의 작업 단위로 Wrapping할 수 있는 장점이 존재 NotificationView를 사용하는 입장에서는 단순히 NotificationView를 띄우는 행위를 `하나의 기능`이라고 보고 NotificationView를 몰라도 NotificationService.show()하여 노티뷰를 띄우는 기능을 사용하도록 하기 위함 NotificationService 기능 protocol NotificationService { func show(title: String, delay: UI..
사용한 framework pod 'RxSwift' pod 'RxCocoa' 시작, 취소 기능을 Observable로 구현 DispatchWorkItem과 Operation을 사용하여 task들을 관리할 수 있지만 Observable를 사용하면 더욱 단순화 * Operation 포스팅 글 참고 * DispatchWorkItem 포스팅 글 참고 Observable을 사용하면 다양한 Rx 연산자 사용이 가능하여 다른 기능을 붙이기에 용이 시작, 취소 기능 구현 아이디어 시작 기능 시작 버튼을 탭하면 task를 시작하고, 만약 기존에 task가 실행중이면 내부적으로 취소한 후 실행 Observable로 task를 관리하면, disposeBag = DisposeBag()과 같이 초기화하여 기존 작업을 손쉽게 취소..
GCD대신 NSOperation 사용하는 경우 (= GCD에서 구현하기 어려운 기능) 작업 중 cancel 기능이 필요한 경우 작업 시작전에 특별한 다른 작업이 먼저 실행되게끔 하고 싶은 경우 작업들의 실행에 우선순위를 주어서 실행 순서를 정하고 싶은 경우 Operation을 서브클래싱하여 작업을 cancel, start하는 것과 같이 작업에 대한 상태를 관리하고 싶은 경우 NSOperation NSOperation은 직접 사용할 수 없는 추상 클래스이므로 NSOperation 서브 클래스로 사용 addDependency(op:)메소드를 통해, 어떤 작업 전 다른 것이 먼저 실행됨을 보장할 때 사용 가능 queue의 실행 우선 순위를 정할 수 있는 장점 public enum NSOperationQueue..
Operation single task에 관한 데이터와 코드를 나타내는 추상 클래스 해당 클래스를 서브클래싱하여 사용하면 안정적으로 task를 실행시킬 수 있는 효과 존재 OperationQueue Operation 객체들을 priority에 의해서 실행시키는 queue 한번 operation queue에 Opertaion 객체를 담아놓으면 task가 끝날때까지 queue가 없어지지 않고 존재 해당 queue에서 Operation들을 삭제하거나 명령시킬 수 있는 장점이 존재 (task관리에 이점) Operation, OperationQueue의 핵심 Operation을 서브클래싱한 것은 기능을 캡슐화 했다는 의미이므로, 기능에 관한 모듈성 향상 task의 실행, 정지, 대기와 같은 실행 상태를 알 수 있..