반응형 전체 글94 [RxSwift] Subject Subject Subject를 이해하기위해서는 Observable과 Observer를 먼저 이해야한다. Subject는 Observable인 동시에, Observer이다. Observable는 다른 Observable를 구독 못함, Observer 또한 이벤트를 다른 Observer에 전달 못함 반면, Subject는 다른 Observable로 부터 이벤트를 전달받아, 구독 가능 PublishSubject 빈 상태로 생성되고, 새로운 element가 subscribe 이후의 event만 subscriber에게 전달된다. BehaviorSubject PublishSubject와 달리 기본값을 가진 채로 생성되고, 초기값 혹은 최신 element 값을 방출한다. ReplaySubject 정해진 buffer .. 2023. 10. 29. [Swift] Concurrency [2] async & await async: 비동기 함수임을 나타낸다. await: async 키워드가 표시된 메소드나 함수의 리턴을 기다린다. 즉, async 함수는 비동기적으로 동작할 수 있고, await 키워드를 사용해 비동기 함수의 결과를 대기할 수 있습니다. func loadWebResource(_ path: String) async throws -> Resource func decodeImage(_ r1: Resource, _ r2: Resource) async throws -> Image func dewarpAndCleanupImage(_ i : Image) async throws -> Image func processImageData() async throws -> Image { let dataR.. 2023. 10. 25. [Swift/UIKit]CollectionView/TableView Cell안에 버튼넣고 이벤트주는법 간단합니다. @objc 메서드 만들고 버튼에서 addTaget 설정만 해주면 됩니다. 1. 컬렉션뷰 셀 부분에 addTaget주기 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { let cell = collectionView.dequeueReusableCell(withReuseIdentifier: CollectionViewCell.identifier, for: indexPath) as! CollectionViewCell cell.goBtn.addTarget(self, action: #selector(self.goBtnClicked), for: .. 2023. 10. 24. [Swift] Concurrency [1] Concurrency Swift Concurrency는 비동기 프로그래밍을 지원하기 위한 도구로, 코드를 간결하고 효율적으로 작성할 수 있게 도와준다. 이 기능은 async와 await 키워드를 사용하여 비동기 작업을 선언하고 처리할 수 있습니다. Swift 5.5에서 새로 나온 동시성 모델이며, 그전에는 GCD와 completion handler를 사용해 비동기 프로그래밍을 해야 했다. GCD 와 Concurrency의 차이는 뭘까? GCD는 Swift가 나오기 전인 Objective-C부터 존재하던 개념으로, 동시성 프로그래밍에 대한 높은 수준의 추상화를 제공한다 Serial DispatchQueue는 한 번에 하나의 태스크를 순차적으로 실행하고, concurrent DispatchQueue는 많은 .. 2023. 10. 23. [UIKit] translatesAutoresizingMaskIntoConstraints 왜 오토 레이아웃을 사용할 때는 translatesAutoresizingMaskIntoConstraints = false를 할까? textField.translatesAutoresizingMaskIntoConstraints = false 오토레이아웃을 잡을때, 기계적으로 해당코드를 작성하곤 했다. 그러다가 문득.. 왜 이걸 쓰는걸까? 난 왜 이걸 예제를 따라 당연하다는듯이 적었을까를 생각했다.. AutoresizingMask란, superview의 영역이 바뀔 때 하위 뷰의 크기를 어떻게 조정할지에 대한 정보를 가지고 있는 정수형 비트마스크라 한다. 해당 개념은 여러 속성을 부여하여 슈퍼뷰의 크기 변화에 따라 서브 뷰의 width, height 혹은 leading, top, trailing, bottom.. 2023. 10. 18. [Swift] Optional Optionals 이란? "값이 없음"을 표현하는 옵셔널 nil Optional type nil을 사용할 수 있는 타입과 사용할 수 없는 타입을 구분하고, 사용할 수 있는 타입을 가리켜 옵셔널 타입이라고 부른다 자료형 뒤에 ? 를 붙여 옵셔널 타입으로 만든다 Non - optional Type 무조건 값을 가져야한다. let str: String = "Non-optional Type" let optionalStr: String? = nil Optional Unwrapping (Forced Unwrapping) Optional Unwrapping을 이용하면 옵셔널타입을 논옵셔널 타입으로 변환 할 수 있다 Optional Unwrapping을 사용할려면 절대 Optional Unwrapping을 하고자하는 .. 2023. 10. 17. 이전 1 ··· 6 7 8 9 10 11 12 ··· 16 다음 반응형