swift 172

Clean Architecture Swift #2

Clean Architecture Swift #2 여기부터는 클린 아키텍쳐 코드 분석한 내용을 바탕으로 예제를 만들어보려고 합니다. 클린 아키텍쳐 연습을 위해 ReactorKit + Moya를 사용 🌿 term 🌿 DTO(Data Transfer Object) 계층 간 데이터 교환을 위해 사용하는 객체로, DTO는 로직을 가지지 않는 데이터 객체를 가진 클래스 (분석할 프로젝트) https://github.com/kudoleh/iOS-Clean-Architecture-MVVM GitHub - kudoleh/iOS-Clean-Architecture-MVVM: Template iOS app using Clean Architecture and MVVM. Includes DIContainer, FlowCoor ..

Clean Architecture Swift #1

Clean Architecture Swift #1 1. Independent of Frameworks: 아키텍쳐는 소프트 웨어 라이브러리의 존재에 의존하지 않음. 2. Testable: 비즈니스 로직은 UI, DB, 웹 서버 또는 기타 외부 요소 없이 테스트 할 수 있음. 3. Independent of UI: UI는 시스템을 변경하지 않고도 쉽게 변경 가능 (ex. 비즈니스 로직을 바꾸지 않고 웹 UI를 콘솔 UI로 변경 가능) 4. Independent of Database: 비즈니스 로직이 DB에 바인딩 되지 않음 5. Independent of any external agency: 비즈니스 로직은 외부 세계(outside world)에 영향을 받지 않음. 위의 다섯가지를 단일 아이디어로 통일하기 ..

[ReactorKit] ReactorKit 공부하기 #6 transform

ReactorKit 공부하기 #6 transform ✅ 결과물 UI ✅ (ReactorKit 공식문서) https://github.com/ReactorKit/ReactorKit GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional Swift applications A library for reactive and unidirectional Swift applications - GitHub - ReactorKit/ReactorKit: A library for reactive and unidirectional Swift applications github.com Global States Unlike Redux, ReactorKit ..

[iOS] UICollectionView CompositionalLayout

UICollectionView CompositionalLayout 공식문서를 열었는데 샘플코드가 14.0 이상으로 나옴. - 글 제일 하단에 참고 부분에 있음 취업 준비하면서 13.0을 기준으로 공부하고 있어서 Xcode를 통해 열어보니까 다행히도 13.0 이상에서도 사용이 가능했음 이전에는 DataSource만 SnapShot을 사용하고 레이아웃은 FlowLayout을 사용했었는데, 이 부분마저도 공부해보려고 함. ✅ SnapShot + FlowLayout 포스팅 2022.09.04 - [iOS] - [iOS] UICollectionView에 대해서 알아보기 7편 (UICollectionViewDiffableDataSource) [iOS] UICollectionView에 대해서 알아보기 7편 (UICo..

apple/iOS 2022.09.18

[ReactorKit] ReactorKit 공부하기 #4 RxTodo 따라잡기 (2)

ReactorKit 공부하기 #4 RxTodo 따라잡기 (2) 이번에는 지난 시간 create를 했다면, delete를 진행해 볼 예정. 해당 파일 🌿 구현 코드 🌿 어려웠던 점: Action의 경우에는 정의하기가 그리 어렵지 않았으나, Mutation을 어떻게 줘야할 지 생각을 많이했었음. // // TaskListViewController.swift // AppleCollectionView // // Created by Hamlit Jason on 2022/09/07. // import UIKit import ReactorKit final class TaskListViewController: UIViewController, View { var disposeBag = DisposeBag() let re..

[ReactorKit] ReactorKit 공부하기 #3 RxTodo 따라잡기 (1)

ReactorKit 공부하기 #3 RxTodo 따라잡기 (1) 아무튼 ReactorKit RxTodo 예제 고고 이번시간에 하려고 한 것 아래 폴더로 구성 Service 부분은 현재 예제를 구현하기에 그렇게 필요하지 않아서 패스! 🌿 구현 🌿 이제 리액터 사용법이 이해가 되기 시작했움! 리액터 정리!! ViewController에서 map을 통해 원하는 Action으로 변경해서 reactor에 전달 reactor에서는 mutate함수를 통해서 이전 상태를 받아서 다음 상태를 반환! reduce는 해당 로직처리! 그리고 변경된 값은 viewController에서 map을 통해 reactor.state를 가져다가 사용하기! 👉 ViewController // // TaskListViewController.s..

Realm 간단하게 구조 적용하기

Realm 간단하게 구조 적용하기 Relam을 도입했는데, 구현과 인터페이스를 분리해 재사용을 높이고자 함.Realm 간단하게 적용해 볼 예정 예제 영상   시도한 것Realm을 사용하는데 update 메소드를 조금 변경해봄셀 내에 많은 데이터들이 있는데, 셀에서 일부 데이터만 수정하는 경우 업데이트를 시도근데 어떤 값을 설정할지 지정해주면 하나의 메서드로 처리해 응집도 및 재사용성을 높일 수 있음 추후에 Note와 관련하여 Service를 만드는 방향으로 수정합니다.  Realm 설계 구조 변경애플에서는 DataModel이라고 해서 각 모델 단위(?)로 관리하는 것처럼 보임.개인적으로는 애플 예제 형태로 운영되면 너무 많은 레이어들이 모델에 의존하게 되는 형태라 결합도가 너무 높아질 것 같다는 생..

apple/iOS 2022.09.06

[Realm] Realm migration (Swift)

Realm migration (Swift) 해당 포스팅은 2번에 걸쳐 업데이트 될 예정입니다. 1. isBookmarked 필드를 추가하는 v2 마이그레이션 (✅ 2022.09.05 21:49 작성완료) 2. v2데이터를 사용하다가 또 다시 v3로 마이그레이션 (🟡 Not yet) 다들 알다시피 Realm의 경우에는 앱 설치 후 모델을 변경하면 migration이 필요함. 이 작업을 예전에 UserDefault로 Kuring 프로젝트에서 다른 개발자님이 하 셨었는데, 나도 도전 🔥 모델을 변경하고 앱을 딱 실행하면? 마이그레이션 하라는 문구가 나타남 일단 기존 모델로 저장된 값들을 Realm-Studio(Realm browser도 된다는데, 나 잘 안되어서 일단 이거 씀) 확인해보면 위 사진처럼 4개의 ..

apple/iOS 2022.09.05

[Realm] The document “default.realm” could not be opened.

The document “default.realm” could not be opened. Realm file is currently open in another process which cannot share access with this process. All processes sharing a single file must be the same architecture. For sharing files between the Realm Browser and an iOS simulator, this means that you must use a 64-bit simulator. MacOS에서 Realm broser 3.0.1 설치 후 해당 경로로 파일을 열어줄 때 발생 - 시뮬레이터 끄고 하면 된다고 함. ..

apple/iOS 2022.09.05