전체 글
-
신입 iOS 개발자 1년간의 회고iOS 2023. 9. 30. 19:14
어느덧 iOS 개발자로 1년이 되었더라구요 원래 작성하려던 생각도 있었지만, 마침 추석이라 시간이 많기도 하고, 사수분께서 회고 작성해보라고 하신김에 해볼까 해요. 신입 개발자로서 느꼈던 점이나 앞으로의 목표에 대해 작성해볼까 합니다. 1년동안 어떤 개발을 했는가? 1년동안 뭔가 열심히는 한 것 같은데 무슨 업무를 했는지 갑자기 작성하려니 잘 떠오르지는 않네요 지라 티켓 같은 유지보수 업무를 하기도 했지만, 제가 담당해서 개발 진행했던 부분을 정리해보려 합니다. 회사 내용이라 간략하게만 적어보자면 아래 내용들 개발한 것 같아요 - Chart 라이브러리 이용한 그래프 기능 개발 -Google Analytics4 Log 추가 및 수정 -회사 자체 event Log 수집 대응 개발 - 커뮤니티 신규 개발 - ..
-
[RxSwift] Subscribe, Bind, DriveriOS 2023. 6. 25. 17:20
오늘은 Subscribe, Bind, Driver의 차이점에 대해 정리해보려 합니다. 평소 rx로 개발을 하면서 아무 생각없이 복붙을 하면서 했었는데, 어떤 차이점이 있는지 알아보고 상황에 맞게 사용해보려 합니다. 1. Subscribe 아래 코드 내용을 확인해보면, onNext, onError, onCompleted, onDisposed 4가지의 parameter 가 존재하는 것을 알 수 있습니다. 말그대로 구독한다는 개념이여서 무언가가 변하면 그 값을 받아오는 역할을 합니다. public func subscribe( onNext: ((Element) -> Void)? = nil, onError: ((Swift.Error) -> Void)? = nil, onCompleted: (() -> Void)? ..
-
[RxSwift] Subject, RelayiOS 2023. 5. 31. 21:52
RxSwift에서 Subject, Relay에 대한 개념 및 특징을 학습하도록 하자 Subject Subject = Observable + Observer 개발을 하게 되면 Observable에 값을 추가하여, 구독하고 있는 Subscriber가 알아챌 수 있도록 해야 하잖아요? 이럴때 위처럼 Observable이자 Observer인 Subject를 사용하면 됩니다! Realy 기능은 대부분 유사한데, 차이점이 있다면 Rxcocoa 내에 Relay라는 객체를 사용하는 것 입니다. 방출 시에는 .accept() 형태를 사용합니다. 그리고 Dispose 되기 전까지는 계속 살아있기 때문에 UI작업에 주로 많이 사용한답니다! 오류가 발생해도 종료되지 않는 것이 특징입니다! Publish, Behavior, R..
-
[iOS] layoutIfNeeded 함수에 대해 알아보자카테고리 없음 2023. 3. 31. 18:46
오늘은 layoutIfNeeded 함수에 대해 알아봅시다. 기본적인 Life Cycle 에 대해서는 알고 가정하고 진행하겠습니다. layoutIfNeeded 함수는 한 마디로 view 의 layout 을 갱신시키고 싶을 때 사용하는 함수 입니다! iOS 에서는 초당 60번 정도 View 를 업데이트 한다고 합니다. 즉, 1/60 초 마다 화면을 업데이트 해준다는거겠죠? 근데 만약에 1/60 초를 기다리지 않고 바로 view 를 업데이트 하고 싶을 수도 있잖아요?? 이럴때 layoutIfNeeded 함수를 호출해주면 됩니다! 자 조금 더 자세하게 설명해보자면, 아래와 같은 Main Run Loop 와 Update Cycle 을 가지고 있습니다. 각각에 대해 알아보도록 하죠 - Main Run Loop 터치..
-
[iOS] isUserInteractionEnablediOS 2023. 2. 28. 23:50
오늘은 isUserInteractionEnabled 에 대해서 알아보도록 해요! 평소에 개발하면서 gesture event에 대해서 알고 있으면 좋을 것 같아 정리해보려 합니다~ 우선 isUserInteractionEnabled이 무엇이냐? 공홈에 정리되어 있기로는, 말그대로 user event에 대한 interaction 을 가능하게 하도록 할 것이냐 입니다. 이때 user event 에는 touch, press, keyboard, focus 같은 이벤트들을 말합니다! 그래서 위 사진처럼 버튼이 밑에 깔려있고, Label 이 그 위에 있는 경우에는 Label 의 터치 이벤트는 작동하지 않습니다!! 왜냐하면 UILabel 의 isUserInteractionEnabled 값은 false 이기 때문입니다! ..
-
[iOS] Clean ArchitectureiOS 2023. 1. 22. 20:37
Clean Architecture 에 대해 알아보도록 합시다. iOS 개발 시 다양한 디자인 패턴이 존재하는데, 아직까지 대부분의 프로젝트에서는 MVVM 패턴을 많이 사용하는 것 같아요. 로버트.C.마틴 뭐시기 어떤분이 썼다고는 하는데 거기까지는 알 필요 없으니 넘어가도록 합시당 궁금하신 분은 여기서 확인 ㄱㄱ (https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html) Clean Coder Blog The Clean Architecture 13 August 2012 Over the last several years we’ve seen a whole range of ideas regarding the architecture ..