본문 바로가기

전체 글36

[iOS] UIView.frame과 UIView.bounds 뷰를 그리면서 수없이 frame을 쓰고, 봐왔는데요. 오늘은 이 frame에 대해 알아보려고 합니다. 먼저 공식문서를 읽어볼까요 ? frame frame이란 superview 좌표계에서 뷰의 위치와 크기를 설명하는 직사각형을 의미합니다. 좀 더 자세히 Discussion까지 읽어봅시다. 레이아웃 작업 중 뷰의 크기와 위치를 설정하기 위해 사각형을 사용합니다. 이 속성을 설정하면 center 속성에서 지정한 점이 변경되고, bounds 사각형의 크기도 그에 맞게 변경됩니다. frame 사각형의 좌표는 항상 포인트로 지정됩니다. 경고 transform 속성이 identity transform이 아닌 경우, 이 속성의 값은 정의되지 않으며 따라서 무시해야 합니다. frame 사각형을 변경하면, draw(_:).. 2023. 9. 4.
[RxSwift] drive는 뭘까 subscribe랑 bind를 사용하곤 했는데 drive를 쓰면 UI 작업에 안전하다고들 한다. 왜일까 궁금해져서 각 메서드를 비교해야겠다 결심했다 . . ! Rx 내부 코드 보면서 subscribe vs. bind vs. drive 를 언제쓸지에 대해 정리해보려고 한다. subscribe /** Subscribes an element handler, an error handler, a completion handler and disposed handler to an observable sequence. - parameter onNext: Action to invoke for each element in the observable sequence. - parameter onError: Action to .. 2022. 12. 18.
[ReactorKit] ReactorKit의 transform() 사용하기 ReactorKit에서 View에서 action을 전달하고, action에 따른 처리를 mutate()를 통해 Mutation으로 방출하여 reduce()에서 State 값을 변경시켰었죠. View에서는 state값을 바인딩하여 값 변경 시 UI를 업데이트 시켜줍니다. 그렇다면 . . transform은 언제 쓰는데 . .? Github를 보면 transform은 각각의 stream을 transform()한다 . .라고 나와있는데요. Global States에서 많이 사용된다고 합니다. 처음에 ReactorKit을 접하고 읽었을 때는 뭔소린가 싶었지만 실제로 사용하고 나니까 이해가 수월하더라고요 ! 먼저 Global States란 ? 예를 들어, currentUser가 바뀔 때마다 다른 View의 화면 .. 2022. 12. 6.
[Swift] super.init()은 언제 호출해야할까 오늘은 헷갈렸던 super.init() 호출 시점에 대해 공부하고자 합니다. 개발을 하다보면 super.init()을 어느 시점에 작성하는지에 따라 오류가 나곤합니다. 왜인지, 언제 호출해야하는지 알아봅시다 ~! 공부하고 적는 글이므로 오류가 있을 수 있습니다 . . 먼저 생성자와 상속에 대해 알아야 합니다. 상속하는 과정에서 자식의 init()에서 super.init()이 호출되기 때문입니다. 생성자 간단하게 생성자는 특정 타입의 새로운 인스턴스를 생성하는 것입니다. init() { // 초기화 수행 } init()에 파라미터가 존재할 수도 있습니다. 상속 상속이란 간단하게 부모 클래스로부터 메서드, 프로퍼티 및 기타 등등을 상속받는 것을 뜻합니다. 즉, 부모 클래스를 상속받은 자식클래스는 부모 클래스.. 2022. 11. 29.
[RxSwift] RxGesture로 바텀시트 Gesture 처리하기 어제 발자국 프로젝트 BottomSheetVC를 구현했는데요 ! ! 사실 너무 잘 짜여진 방식이 있어서 참고하여 구현했지만 . . 공부할 거랑 배울 점이 매우매우 많았습니다 . . 그 중 처음 사용해보기도 하고 너무 유용했던 "RxGesture"에 대해 간단하게 정리하겠습니다 ~ ! RxGesture https://github.com/RxSwiftCommunity/RxGesture GitHub - RxSwiftCommunity/RxGesture: RxSwift reactive wrapper for view gestures RxSwift reactive wrapper for view gestures. Contribute to RxSwiftCommunity/RxGesture development by cre.. 2022. 11. 29.