본문 바로가기

Dev37

Dependency Container 구현 (Swinject 파헤치기) https://github.com/Team-LionHeart/LionHeart-iOS GitHub - Team-LionHeart/LionHeart-iOS: 라이옹 🦁 라이옹 🦁. Contribute to Team-LionHeart/LionHeart-iOS development by creating an account on GitHub. github.com Dependency Container 구현 (Swinject 파헤치기) 이 글을 완성하기까지 3일이 걸렸던 것 같습니다. 글을 작성하는 중간에도 새로 깨닫는 사실들이 새로 생기고 그것이 또 다른 의문을 낳고 이런 과정이 계속 반복돼서 계속 수정.. 수정..에 걸쳐서 드디어 나름의 결론을 얻게 되어서 글을 마무리할 수 있게 되었습니다..! (처음 이 글의.. 2023. 9. 14.
Swift에서의 싱글톤에 대한 생각정리 https://github.com/Team-LionHeart/LionHeart-iOS GitHub - Team-LionHeart/LionHeart-iOS: 라이옹 🦁 라이옹 🦁. Contribute to Team-LionHeart/LionHeart-iOS development by creating an account on GitHub. github.com 최근들어서 프로젝트를 같이 하는 팀원과 이야기를 하던 중 싱글톤에 대해 다시한번 알게 된 사실이 있어서 그 사실을 포함해서 저의 싱글톤에 대한 생각을 글로서 정리해보고자 합니다. (제 생각이 포함되어 있어 정답이 아닐 수도 있습니다.) 싱글톤은 무조건 나쁠까 ? 싱글톤으로 구글링을 해보면 사람들이 강조하는 나쁜 이유에 대한 것들, 그것이 정말 Swift.. 2023. 9. 11.
[WWDC19] Advances in UI Data Sources (DiffableDataSources) 컴포지셔널 레이아웃에 이어서 연달아 보고 정리해놓았는데 노션에만 놓고 옮기는 것을 깜빡해서 지금이라도 옮겨적는다..! 적용기는 이후에 다시 남겨야겠다! 기존 DataSource 나름 굉장히 직관적이다. 하지만 앱은 계속해서 복잡해져간다. Controller Layer와 UI Layer의 대화 Smooth sailing UI: Controller, 섹션에 있는 항목의 수를 알려줘. UI: 콘텐츠를 렌더링할 때 셀을 알려줘. 문제는 여기서 발생한다. (more complex) Controller: UI야 나 바꼈는데??? (didChange) UI: 어? 그러네 그러면 나 TableView나 CollectionView UI 바꿔야겠는데??😮 이건 좀 복잡한 작업이다. 그리고 만약 정말 잘 처리해줘도 아래와 .. 2023. 6. 12.
[삽질] 클래스의 확장성 개선(protocol 의존성 주입: any) Trouble Shooting (Action나누면서) 기존 상황 import Foundation public typealias CompleteBottomSheetAction = ((DidBottomSheetActionType) -> Void) protocol BottomSheetAction { func sendAction(_ action: DidBottomSheetActionType) func cancel() var completeAction: CompleteBottomSheetAction? { get } } 위와 같이 Action 프로토콜을 정의하고 해당 프로토콜을 정의하는 아래와 같은 클래스가 있다. import Foundation final class RuleBottomSheetAction: Bot.. 2023. 6. 1.