전체 글
-
[RxSwift] share, subscribe vs bind vs drive, Scheduler, observeOn, subscribeOn🧃RxSwift 2022. 10. 27. 19:42
Share 일반적으로 subscribe(bind)를 할 때마다 새로운 시퀀스가 생성이 됨! 따라서 여러 subscribe를 하게 될 경우 불필요한 리소스가 발생할 수 있기 때문에 내부적으로 모든 subscribe가 하나의 subscribe를 공유할 수 있게 해주는 것! share의 파라미터인 replay와 scope를 통해 버퍼 사이즈와 유지 상태를 결정할 수 있음! ex) share()가 구현되어있지 않다면 네트워크 요청이 여러 번 일어나게 되기 때문에 불 필요한 콜이나 리소스 낭비가 생기기 때문에 share()로 해결 가능! Subscribe vs Bind vs Drive subscribe 에러 처리 가능 쓰레드 지정 가능 💡 일반적 상황, 즉 에러처리, 쓰레드 지정해야하는 경우 등 다양한 상황에서 ..
-
[RxSwift] subscribe, traits, bind, drive, relay, Subject와 Relay의 차이점🧃RxSwift 2022. 10. 27. 19:39
💡 Observable은 Subscribe를 할 수 없음 💡 Observer는 이벤트를 전달할 수 없음 Subscribe 💡 Subject는 Emit과 구독 모두 가능 Publish Behavior Replay Async Traits UI처리에 특화된 Observable RxSwift에 제공해주는 Observable이 있고 RxCocoa에서 제공해주는 Observable은 Traits라고 함 Traits에 해당하는 Observable의 공통적인 특성은 메인 쓰레드에서 실행된다는 점과 Error 이벤트가 없다는 점임! Bind UI적 요소에 적합함! 그 이유는 메인쓰레드에서만 동작하게 해줌! 에러 이벤트 받지 않음! onNext만 받을 수 있고 만약 그 외의 상황 발생 시 런타임 에러 발생함 Drive s..
-
[RxSwift] Disposable, withUnretained, debounce, Subject 기본 개념🧃RxSwift 2022. 10. 25. 15:25
Disposable 구독 중인 Stream을 원하는 시기에 처리할 수 있도록 도와줌 Observable은 모두 Disposable을 리턴하며 이를 통해 Stream을 종료하고 실행되던 시퀀스를 모두 종료함 Observable의 next 이벤트 emit이 끝나면 completed → disposed 로 시퀀스가 정상적으로 종료됨 dispose() 구독하는 것 마다 별도로 관리! 시퀀스가 끝날때 리소스에 대해 해제 시켜주는 것(메모리 관리를 도와줌) DisposeBag() 각각의 구독에 대해서 일일히 관리하는 것은 효율적이지 못하기 때문에 RxSwift에서 제공하는 DisposedBag 타입을 이용할 수 있다. DisposeBag에는 (보통은 .disposed(by:) method를 통해 추가된) dispo..
-
[iOS] SafeArea에 대해서 설명하시오.🍎iOS 2022. 10. 25. 01:39
컨텐츠가 가려지지 않는 것이 보장되는 영역 어떤 content(status bar, navigation bar, toolbar, tab bar, etc) 에도 덮이지 않는 뷰를 그리기 위해서 제공 SafeAreaLayoutGuide 화면에 뷰가 띄워질 때 safeAreaLayoutGuide 는 navigation bars, tab bars, toolbars등에 의해 가려지지 않은 부분 반영(tvOS에서 안전 영역은 화면 베젤을 덮지 않은 영역을 반영합니다.) SafeAreaInset 뷰의 안전영역에 대한 inset 값을 가리킴 additionalSafeAreaInsets 뷰의 안전영역에 대한 SafeAreaInset의 값을 설정할 수 있음 다른 값을 설정하게 되면 안전영역이 변경됨
-
[iOS] 스토리보드를 이용했을 때 장단점을 설명하시오.🍎iOS 2022. 10. 25. 01:32
스토리보드의 장점 뷰를 만드는데 오래걸리지 않으며 프로토타입을 빠르게 생성가능. 앱의 흐름을 한눈에 볼 수 있는 점. 눈에 바로바로 보이기 때문에 이목을 끌 수 있는 점 코드를 몰라도 초보자들이 이쁜 뷰를 만들 수 있는 점 static cell 사용가능 스토리보드의 한계와 단점 앱이 점점 커지고 스토리보드 로딩시간이 길어지게 되면 오히려 생산성이 떨어짐 스토리보드가 방대하면 읽기도 어려워지고 난잡해보여서 가독성이 많이 떨어짐 스토리보드 파일이 XML 포맷에다가 읽기도 어렵기 때문에 다수의 인원이 수정을 하게되면 Merge Conflict 처리가 큰 어려움으로 작용 코드로 UI를 짜야하는 이유 Storyboard를 통해 만들 수 있는 UI는 전부 코드로 가능하다. 하지만, 코드로 만든 UI 중에 Story..