목록RxSwift (6)
J

NotificationCenter를 이용한 Y축 이동로그인 화면과 같이 텍스트필드가 존재하는 화면을 구현하다 보면 자주 발생하는 문제가 있다.그건 바로 키보드가 텍스트필드나, 버튼 등을 가린다는 문제다.문제해결 나는 이 문제를 NotificationCenter와 RxSwift를 이용해서 해결했다.키보드가 나타나는 시점에 키보드 높이에 맞춰 올려주고 키보드가 사라지는 시점에 다시 원래의 위치로 돌려주는 작업이었다.여기서 위치가 변해야 하는 객체들은 logoImageView, emailTextField, passwordTextField, loginButton이었는데,각각 따로 위치를 조정하기 보다는 한 번에 이들의 위치를 조정하기 위해서 loginBoxView를 만들고 그 안에 이것들을 담아서 관리했다.//..
1. SingleSingle은 Observable의 한 종류로, 오직 하나의 값 또는 에러를 방출하고 완료되는 시퀀스를 처리.성공적으로 값을 방출할 경우 success 이벤트, 실패할 경우 error 이벤트를 전달하며, 그 이후에는 더 이상 이벤트가 발생하지 않음.주로 네트워크 요청, 파일 읽기/쓰기와 같은 단일 결과를 반환하는 작업에서 많이 사용.(이때 작업이 성공하면 하나의 값을 방출하고 완료, 실패하면 에러를 방출하는 구조.)2. Single의 특징하나의 값 또는 에러 방출Single은 성공하면 하나의 값을 방출하고 완료되며, 실패할 경우 에러를 방출.즉, next 이벤트가 없고, success 또는 error 이벤트만 발생.단일 결과에 적합Single은 오직 하나의 값을 방출하고 완료되기 때문에,..
1. subscribe, bind, drive 특징 비교 subscribebinddrive사용 대상ObservableObservable, DriverDriver에러 처리에러를 처리 가능에러 처리하지 않음에러 처리하지 않음Thread 관리별도의 Thread 관리가 필요 (Main Thread에서 동작하지 않음)Main Thread에서 자동으로 동작Main Thread에서 자동으로 동작주요 사용 사례모든 Observable에서 값을 직접 처리할 때주로 UI 바인딩에 사용, UI 요소와 데이터를 연결UI 바인딩에 최적화된 Driver 사용 시주요 이벤트next, completed, errornext (에러 이벤트는 전달되지 않음)next (에러 이벤트는 전달되지 않음)Hot/Cold ObservableCold..
1. DriverDriver는 RxCocoa에서 제공하는 특수한 Observable로, UI 바인딩을 위한 안전하고 간결한 방법을 제공함.일반적인 Observable과는 달리 Driver는 UI 작업에 최적화된 특성을 가지고 있어 반복적인 이벤트 처리나 UI 요소 간의 데이터 바인딩을 안전하게 처리하는 데 적합함.특히 Main Thread에서 동작하며, 에러 발생 없이 UI를 업데이트할 수 있는 강력한 도구로 사용할 수 있음.2. Driver의 특징Main Thread에서 동작Driver는 Main Thread에서 작동하므로 UI와 직접 상호작용하는 코드에 적합.UI 업데이트가 항상 Main Thread에서 안전하게 이루어 질 수 있음.에러 없이 이벤트 전달Driver는 Error 이벤트를 전달하지 않음..
1. SubjectSubject는 Observable과 Observer의 역할을 동시에 수행할 수 있는 특수한 객체.이를 통해 Subject는 구독을 통해 값을 방출하고, 외부에서 값을 받아 새로운 이벤트를 방출할 수 있음.1-1. PublishSubjectPublishSubject 특징초기에는 아무런 값도 방출되지 않기 때문에 구독 전에 발생한 값은 무시.구독자가 구독한 시점 이후에 발생하는 next 이벤트만 전달.구독자가 있는 동안 completed 또는 error 이벤트가 발생하면 모든 구독자에게 전달.구독이 종료되거나 completed, error 이벤트가 발생하면 더 이상 이벤트가 방출되지 않음.PublishSubject 예시import RxSwiftfunc examplePublishSubjec..
이벤트를 방출하는 Observable이벤트를 관찰 및 처리하는 Observer이 둘을 연결하는 것이 Subscribe이 둘의 연결을 끊는 것이 Dispose1. ObservableObservable은 RxSwift에서 시퀀스, 스트림 등으로 불리며, 비동기적으로 이벤트를 방출(emit)하는 시퀀스를 의미한다.Observable은 시간이 지남에 따라 여러 이벤트를 발생시킬 수 있으며, 각 이벤트는 값을 포함할 수도, 에러 또는 완료를 나타낼 수도 있다.2. Observable의 이벤트Observable은 대표적으로 세 가지 이벤트를 방출한다.next: 새로운 값을 방출하는 이벤트.error: 오류가 발생하여 시퀀스를 종료하는 이벤트.completed: 모든 값을 방출한 후 시퀀스를 종료하는 이벤트.Obse..