일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 리펙토링
- 애니메이션
- UITextView
- RxCocoa
- 클린 코드
- Xcode
- SWIFT
- Protocol
- MVVM
- collectionview
- Refactoring
- 스위프트
- Clean Code
- tableView
- map
- UICollectionView
- HIG
- Human interface guide
- 리펙터링
- ios
- swift documentation
- clean architecture
- ribs
- Observable
- rxswift
- swiftUI
- uitableview
- combine
- uiscrollview
- 리팩토링
- Today
- Total
목록subject (3)
김종권의 iOS 앱 개발 알아가기
목차) Combine - 목차 링크 Subject Publisher의 일종이고 (Publisher 프로토콜을 준수하고 있는 형태), 이 인스턴스는 이벤트를 방출할 수 있는 send(subscription:) 기능이 존재 애플에서는 이벤트 방출을 "inject"라고 명명 @available(macOS 10.15, iOS 13.0, tvOS 13.0, watchOS 6.0, *) public protocol Subject : AnyObject, Publisher { func send(subscription: Subscription) } PassthoughSubject downstream subscribers에게 값을 broadcast하는 subject 값을 저장하고 있지는 않고 단순히 값을 토스 해주는 역할..
Subject 기본 개념 Observable과 Observer의 성격을 모두 가지고 있는 프로토콜 Observable의 성격: subscribe을 하여 이벤트를 수신할 수 있는 상태 Observer의 성격: subscribe한 대상들을 내부에서 기록하고 있는 상태 (= subscribe한 대상들을 알고 있기 때문에, 여러번 Observable에 이벤트를 emit이 가능) (= multi case) // 프레임워크 없이 직접 구현한 MySubject.swift public final class MySubject { struct Observer { weak var observer: AnyObject? let block: (Value) -> Void } private var observers = [Observ..
* 실습할 프로젝트의 내용은 여기를 참조하여 다운로드 네비게이션 버튼 중 "+"버튼을 통해 이미지를 추가하며, save버튼을 추가 할 수 있도록 하는 것 RxSwift접근(BehaviorRelay와 PublishSubject이용)하여 구현해야될 내용 - "+"버튼을 누를 시 앨범으로 이동하는 기능, 선택시 뷰에 반영 - save버튼은 이미지가 있는 경우만 활성화 - 이미지를 선택할 때마다, 네비게이션 아이템 타이틀에 현재 입력한 총 이미지 갯수 표현 - save버튼을 누르면 저장되게끔 1. dispose bag view controller이 dispose bag을 소유하고 있기 때문에, dispose의 ARC가 0이 될때, observable subscription들은 같이 disposed됨 (Rx su..