전체 글138 [Architectures] MVVM + Clean Architecture (feat. ReactorKit) 거진 몇달째 MVVM + Clean Architecture를 사용하였지만, 아키텍쳐에 대해서 글을 써본 적이 없는 것 같아서.. 부족하지만 누군가 한명에게라도 도움이 된다면 좋으니깐 ㅋㅋㅋ~~~~~ 그리고 나도 뭐 이론적인 부분을 더 채워넣기위해 이번엔 MVVM + Clean Architecture에 대해서 알아보려한다. 우선 Clean Architecture가 뭥미 우린 재사용성, 확장성, 구조적 용이, 테스트 용이, 코드 가독성, 모듈화 등등의 많은 이유로 특정 프로젝트에 많은 아키텍쳐를 시도하고 도입한다. 그 중 Clean Architecture는 무엇이냐..? 에 대한 설명은 https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architect.. 2022. 7. 26. [RxSwift] concat 최근에 ReactorKit을 적용해보면서 많이 사용하였던 concat에 대해서 알아보려한다. 꽤나 간단하다. concat은 여러 Observable을 연결하는 오퍼레이터이다. 모든 Observable이 정상적으로 완료되고, 마지막에 연결된 tail부의 Observable이 완료되면 complete된다. 그냥 쉽게 생각하면 직렬로 Observable을 연결한다 라고 생각하면 된다. 예제는 다음과 같다. let disposeBag = DisposeBag() let eng = Observable.of("a", "b", "c") let kor = Observable.of("ㄱ", "ㄴ", "ㄷ") let 변수명정하기시로시로 = Observable .concat([eng, kor]) 변수명정하기시로시로 .subs.. 2022. 7. 26. [Swift] defer 음... 잠이 안와서.. 간단히 defer.. defer가 무엇이냐? 함수가 종료되기 전에 실행되야 할 코드를 작성하는 블럭을 의미한다. 예를 들면.. func config() { // config code.. // after complete config code.. defer { print("complete!") } } 이런 식이다. 이리 간단해보이는 defer는 중첩이 가능한데 이 때 defer 블럭 실행 순서가 중요하다. defer는 Stack 방식으로 동작하여(LIFO) 선언된 역순으로 호출된다. func test() { defer { print("test 1") } do { defer { print("test 2") } print("test 3") } for i in 0.. 2 그리고 다음 블럭.. 2022. 6. 10. [RxSwift] Hot vs Cold Observable 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야한다... 알아야하니깐 쓴다. 알아야한다. Cold Observable 기본적으로 Observable은 lazy하다. lazy하다는 말은 뭐시냐? Observable을 정의만 해놓는다고, 뭐가 이뤄지진 않는다는 것이다. subscribe를 해야 이벤트를 방출하므로 처음으로 발생한 이벤트부터 전체 시퀀스를 확인할 수 있다. 코드로 예를 들어보자 let .. 2022. 6. 8. [Swift] mutating 2021.08.11 - [iOS/Swift] - [Swift] Struct Mutating [Swift] Struct Mutating Struct Mutating 구조체의 메소드를 구조체 내부에서 데이터 수정 할 때는 Mutating 키워드를 선언 해주어야함 struct coordinate { var x: Int = 0 var y: Int = 0 mutating func moveTo(x: Int, y: Int) { sel.. limjs-dev.tistory.com ㅋㅋㅋㅋㅋㅋㅋㅋ좀 더 알아보고 쓰지 새끼야... 다시 간단히 정리하려고 씁니다.. 아니 이전에 쓴 것도 맞긴한데.. 동작 방식에 대해서 추가적으로 쓰려한다. 일단 기본적으로.. 구조체의 메소드를 구조체 내부에서 데이터 수정 할 때는 Mutati.. 2022. 5. 8. [Swift] Hashable 와 너무 졸리다 오늘은 Hashable.. 그저 딕셔너리의 키, 세트같은 중복값이 들어갈 수 없는 애들은 Hashable하다 라고만 알고있었는데, 저번주에 combine인가 hash 인가하는 메서드를 보고 공부해봐야겠다고 느껴서.. 먼저 Hashable이란 정수 해시값을 제공하여 유일하게 표현이 가능한 방법을 제공하는 프로토콜이다. 보통 hash한 값이다.. 하면 뭐.. 유일한 값, 중복되지 않는 값 -> UUID...? 뿐이 생각안나네 ㅋㅋㅋ오 때려맞춤 ㅋㅋㅋㅋ 요건 UUID에 대한 잼난 글이 있길래.. https://medium.com/@jang.wangsu/ios-swift-uuid는-어떤-원리로-만들어지는-것일까-22ec9ff4e792 [iOS, Swift] UUID는 어떤 원리로 만들어지는 것일.. 2022. 5. 2. 이전 1 2 3 4 5 6 ··· 23 다음