반응형

SWIFT 9

Operators 정리

안녕하세요. KataRN입니다. 다양한 Observable에는 다양한 Operator들이 있습니다. 사용한것들로 오늘부터 조금씩 추가하겠습니다. Observables 결합 1. combineLatest: 두 개의 Observable 중 하나가 항목을 배출할 때 배출된 마지막 항목과 다른 한 Observable이 배출한 항목을 결합한 후 함수를 적용하여 실행 후 실행된 결과를 배출한다 기타 1. withLatestFrom - 간단한 예제 let gun = PublishSubject() let runner = PublishSubject() gun.withLatestFrom(runner) { "\($0) \($1)" } .subscribe(onNext: { print($0) }) .disposed(by: di..

SWIFT/RxSwift 2022.12.20

RxCocoa

안녕하세요. KataRN입니다. 오늘은 RxCocoa에 대해 알아보겠습니다. 1. Binder - UI Binding에 사용. - Error 이벤트 받지 않음. - Main Thread에서 실행되는 것을 보장. - .bind(to: ): 생성자(Observable) -> 수신자(Binder) - 같은 처리지만 bind를 사용하면 훨씬 간결하다. textField.rx.text .observe(on: MainScheduler.instance) .subscribe(onNext: { label.text = $0 }) .disposed(by: disposeBag) textField.rx.text .bind(to: label.rx.text) .disposed(by: disposeBag) 2. Driver - Er..

SWIFT/RxCocoa 2022.12.20

WWDC 2016 - Understanding Swift Performance - (1)

안녕하세요. KataRN입니다. 오늘은 WWDC 2016 - Understanding Swift Performance에 대해 공부한 내용에 대해 적어보려고합니다. 영상주소 - WWDC 2016 - Understanding Swift Performance 자료주소 - Presentation Slides (PDF) 참고 번역 블로그 - https://velog.io/@ictechgy/UnderstandingSwiftPerformance#%EC%9D%BC%EB%B6%80-%EC%BD%94%EB%93%9C%EB%A5%BC-%EC%B6%94%EC%A0%81%ED%95%98%EC%97%AC-swift%EA%B0%80-%EC%9A%B0%EB%A6%AC%EB%A5%BC-%EB%8C%80%EC%8B%A0%ED%95%98..

SWIFT/WWDC 공부 2022.12.15

RxSwift 기본정리3(Subjects)

안녕하세요. KataRN입니다. 오늘은 Subjects에 대해 정리해보겠습니다. 참고 블로그 - https://ios-development.tistory.com/98 1. Subjects란? (실제 앱 구동시) run time시에 Observable에 값을 추가하여 emit이 발생하게끔 해주는 대리인 Observable에 값을 추가하는 대상은 Observer라 부르며(추상적인 개념), Observable과 Observer 기능을 둘 다 하는 것이 바로 Subjects.( subscriber가 아님을 주의 이게 굉장히 헷갈림. 저는 이게 정리하기로 결심한 이유중 하나입니다...) - bind를 통해 미리 subscribe를 해놓고 Observable에 값을 추가하면 view는 추가된 값을 전달받고 업데이트..

SWIFT/RxSwift 2022.12.12

RxSwift 기본정리2(Traits)

안녕하세요. KataRN입니다. 오늘은 RxSwift의 기본 Traits에 대해 정리하겠습니다. RxSwift는 Observable을 사용할 때 명확한 이벤트 발생 규칙을 가질 수 있도록 Traits를 지원한다. Traits는 RxSwift를 사용할 때 코드를 명확하고 직관성 있게 가지고자 할 때 선택적으로 사용할 수 있으며, 코드의 의도를 확실히 보여줄 수 있다는 장점이 있다. 1. Single : onSuccess(= .next + .completed), onFailure만 처리하면된다, 항상 단일 요소 또는 에러를 방출하도록 보장하는 시퀀스, 주로 HTTP 요청을 처리하는데 사용된다. Single.just(.success("✅")) .subscribe(onSuccess: { print($0) }, ..

SWIFT/RxSwift 2022.12.12

RxSwift 기본정리(Observable)

안녕하세요. KataRN입니다. 오늘은 RxSwift의 기본에 대해 정리해보려고 합니다. 1. Observable - T형태의 데이터를 전달할 수 있는 일련의 이벤트를 생성하는 기능 - Observable는 subscribe를 이용해서 구독을 해야 Observable의 데이터가 방출된다. - 3가지 유형의 이벤트만 방출 enum Event { case next(Element)//다음 Element를 전달 case error(Swift.Error)//에러를 전달 실패로 종료 case completed//성공적으로 종료 } - next를 제외하고는 방출후에 종료된다. - 생성하는 방법은 just, of, from, create, empty, never, range(start:, count: )이 있다. - ..

SWIFT/RxSwift 2022.12.12

Diffable Data Source에 대해

안녕하세요. KataRN입니다. 오늘은 Diffable Data Source에 대해 알아보겠습니다. (최근 공모전에 참가했을때는 시간이 부족해서 나중에 해야지 하고 미뤄뒀던 내용입니다.) Diffable Data Source란? - TableView(CollectionView)를 그리기 위한 데이터를 관리하고 UI를 업데이트하며 Data Source와 달리 데이터가 달라진 부분을 추적하여 자연스럽게 UI를 업데이트한다. 🤔 한마디로 달라진것만 업데이트 + 자연스러운 UI( 애니메이션??)입니다. 우선 준비된 샘플앱 : https://developer.apple.com/documentation/uikit/views_and_controls/collection_views/implementing_modern_c..

AutoresizingMask, translatesAutoresizingMaskIntoConstraints 개념

안녕하세요. KataRN입니다. 오늘은 간략하게 AutoresizingMask, translatesAutoresizingMaskIntoConstraints에 대해 알아보겠습니다. 1. AutoresizingMask superview의 bounds가 변경될때 subview의 크기를 어떻게 크기를 재설정 할것인가에 대한 bit mask bit mask: 컴퓨터의 언어인 이진수를 사용하면 연산이 빠른점을 이용해 어떤 정수를 이준수 형태로 표현하여 자료구조로써 사용하는 기법 원리: view의 bounds가 변경되면 subview들을 각 subview의 autoresizing mask에 해당되는 부분을 자동으로 재설정 UIView.AutoresizingMask에 설명된 상수를 결합하여 값을 조정 2. transl..

View크기에 따른 Font Size 변경(sizeToFit, sizeThatFits)

안녕하세요. KataRN입니다. 오늘은 View크기에 따라 글자크기를 변경하는 방법에 대해 알아보려고합니다. 검색을 해보니 크게 2가지 방법이 나왔습니다. 1. sizeToFit - sizeToFit : Text에 맞게 Label의 크기가 조정된다. - sizeToFit을 호출하고 이후에 text를 길게 변경하면 화면의 크기는 고정되어 text가 잘립니다. //사용법 let testLabel = UILabel() testLabel.sizeToFit() 2. sizeThatFits - sizeThatFits : Label의 높이나 너비의 크기를 조정한다. - sizeThatFits는 지정된 크기에 적합한 크기를 계산하여 반환되고 그 크기로 width, heigh를 조정할 수 있습니다. //사용법 let t..

SWIFT/UILabel 2022.10.31
반응형