IOS
-
Clean Architecture 3(Presentation Layer)IOS/아키텍처 2024. 4. 4. 20:32
본 글은 https://tech.olx.com/clean-architecture-and-mvvm-on-ios-c9d167d9f5b3 Oleh Kudinov님의 클린 아키택처 코드와 이론들을 분석하고 포스팅한 글입니다. 이어지는 글이니 참고 부탁드립니다. Clean Architecture and MVVM on iOS When we develop software it is important to not only use design patterns, but also architectural patterns. There are many different… tech.olx.com 2024.03.10 - [IOS/아키텍처] - Clean Architecture 1(Layer 알아보기) Clean Architectu..
-
Combine - Subscriber 2편IOS/Combine 2024. 3. 30. 17:41
Combine - Subscriber 1편에선 sink를 통해 Subscriber를 구현했습니다. 이번 글에선 assign(to:,on:) assing(to:) 방법을 통한 구독을 포스팅하겠습니다. 1. assign(to:on:) Publisher에서 방출받는 값을 Object의 KVO-Compliant property에 할당합니다. 예제코드는 다음과 같습니다. class ExampleObject { var value: String = "" { didSet { print(value) } } } let exampleObject = ExampleObject() let publisher = ["Hello", "Combine"].publisher publisher .assign(to: \.value, on: e..
-
Combine - Subscriber 1편IOS/Combine 2024. 3. 16. 08:59
이번 글은 Combine의 핵심중에 하나인 Subscriber가 무엇이고 어떻게 Publisher를 구독하는지 알아보겠습니다. Subscriber는 총 2번에 나누어서 설명드리겠습니다. 이번글은 간단한 개념과 sink를 사용한 구독을 알아보겠습니다! Publisher 포스팅은 다음글을 참고해 주세요! 2024.03.10 - [IOS/Combine] - Combine 구성요소 Publisher Combine 구성요소 Publisher 지난 1편은 Combine의 맛보기를 보았고 이제 본격적으로 Combine의 Publisher , Subscription, Subscriber, Operator부터 시작해 다양한 Operator를 공유하려 합니다. 1편은 요기 링크 걸어둘게요!!! 못 보신분은 보고 jjunb..
-
Clean Architecture 2(Domain Layer 파헤치기)IOS/아키텍처 2024. 3. 14. 11:10
지난 글에 이어서 작성한 글입니다. Clean Architecture의 구성 요소의 정의와 Data Flow가 궁금하시다면 아래 링크를 참고해주세요. 2024.03.10 - [IOS/아키텍처] - Clean Architecture 1(Layer 알아보기) Clean Architecture 1(Layer 알아보기) 어떻게 하면 관리사 분리부터 유지보수에 용이한 구조를 만들 수 있을까 고민이 들어 Clean Architecture에 대해 공부한 걸 정리하려 합니다. Clean Architecture를 보면 기본 컨샙은 다음과 같습니다. Depen jjunbbang.tistory.com 이번엔 MVVM structual design pattern을 활용한 소스코드를 참고하며 분석해 보는 시간을 가져보겠습니다...
-
Combine 구성요소 PublisherIOS/Combine 2024. 3. 10. 20:07
지난 1편은 Combine의 맛보기를 보았고 이제 본격적으로 Combine의 Publisher , Subscription, Subscriber, Operator부터 시작해 다양한 Operator를 공유하려 합니다. 1편은 요기 링크 걸어둘게요!!! 못 보신분은 보고 오시는 걸 추천드립니다. 2024.03.03 - [IOS/Combine] - Combine Framework란? Combine Framework란? 최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 jjunbbang.tistory.com Combine은 "시간의 흐름에따라 방출되는 'Value'를..
-
Clean Architecture 1(Layer 알아보기)IOS/아키텍처 2024. 3. 10. 19:01
어떻게 하면 관심사 분리부터 유지보수에 용이한 구조를 만들 수 있을까 고민이 들어 Clean Architecture에 대해 공부한 걸 정리하려 합니다. Clean Architecture를 보면 기본 컨샙은 다음과 같습니다. Dependency Rule: 1. 바깥 영역(소스코드 영역)에서 Domain 영역으로 의존성을 가지며 절대 의존성 방향이 반대가 되면 안 되는 Rule을 가집니다. 이게 클린아키 택처의 핵심입니다.2. 내부 코드에서 외부 코드에서 사용한 클래스나, 메소드, 변수를 언급하는 것도 의존성 방향의 위배됩니다. 예로 iOS ViewModel이 비즈니스 로직에 따라 뷰가 업데이트되는 것처럼 말입니다. 그 반대가 되면 뷰 Layer에 의해 비즈니스 규칙이 변경되는 즉, 내부..
-
Combine Framework란?IOS/Combine 2024. 3. 3. 08:51
최근 Swift Combine에 대해서 관심이 생겼고 정리겸 지식을 공유하고자 이렇게 글을 작성합니다. 앞으로 주 단위로 콤바인에 대해 알아보는 시간을 가져볼태니 궁금한 점이나 오타, 잘못된 부분은 댓글에 남겨주시면 감사하겠습니다 ㅎㅎ Combine은 무엇일까요? Definition 애플에선 Combine framework는 시간에 따라 매번 방출하는 값을 처리하기 위한 선언형 Swift API를 제공한다라고 하는데요, 쉽게 와닿지 않지만 최대한 쉽게 설명을 해보겠습니다. 0초 1초 2초마다 4, 8, 12 란 값을 방출하는 스트림이 있다고 가정한 그림인데요, Combine은 4, 8, 12란 값을 한 번에 받아 처리할 수 있고 아니면 방출 즉시 값들을 받아 작업을 진행 할 수 있습니다. 또한 이런 결과..
-
could not dequeue a view of kind: UICollectionElementKindCell with identifier ... - must register a nib or a class for the identifier or connect a prototype cell in a storyboard 이슈IOS/UIKit 2022. 2. 13. 15:38
컴포넌트를 dequeueReusable 메소드를 사용해 배치할때 reusable view identifier를 설정하지 않아 발생하는 오류 해결방법 본 글에선 스토리보드 기준으로 설명한다. 1. 문제가 된 컴포넌트를 찾는다. 2. dequeueReusable에서 정의한 식별자로 inspector영역에서 설정한다. collectionView.dequeueReusableCell(withReuseIdentifier: "DiaryCell", for: indexPath) as?