UIKit 26

iOS CoreData 간단한 CRUD

iOS CoreData 간단한 CRUD 가장 기초적으로 CRUD 수행해보자 연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data를 사용하기 위한 사전준비- 프로젝트 생성시이렇게 생성하면 AppDelegate와 SceneDelegate에 기본적으로 Core Data를 위한 코드가 추가됩니다.먼저 SceneDelegate에서는 백그라운드로 넘어갔을때 현재 컨..

iOS CoreData 이론

iOS CoreData 이론 CoreData에 대해서 알아봅시다.1편에서는 개념과 이론을 중점으로 서술하며, 코드 설명은 2편에서 이어집니다.연관 포스팅[iOS CoreData 간단한 CRUD](https://rldd.tistory.com/587)[iOS SwiftData in UIKit](https://rldd.tistory.com/588)[iOS CoreData 이론](https://rldd.tistory.com/586)[iOS CoreData Relationships](https://rldd.tistory.com/661) Core Data란?- 코코아 개발 환경을 통해 제공하는 인 메모리(In-Memory) 방식의 데이터 관리 프레임워크.- 이를 통해 데이터베이스 한경과 유사하게 데이터 CRUD과정..

UILabel Inset and CornerRadius (UIKit)

UILabel Inset and CornerRadius (UIKit) UILabel에서 텍스트 주변으로 인셋을 주기 위한 코드 히스토리2023-06-23: InsetLabel 구현2025-01-21: CapusuleLabel 추가 목차InsetLabel 전체 코드InsetLabel 사용법CapsuleLabel 전체 코드 InsetLabel 전체 코드/// UILabel의 text와 컨테이너 사이의 inset값을 설정할 수 있는 커스텀 라벨final class InsetLabel: UILabel { /// text와 UILabel 사이의 inset값을 설정 var edgeInsets: UIEdgeInsets = .init(top: 2.0, left: 8.0, bottom: 2.0, ri..

ReactorKit + RxDataSources #1(SectionModelType)

ReactorKit + RxDataSources #1(SectionModelType) 개발환경ReactorKit 3.2.0RxDataSources 5.0.2SnapKit 5.6.0Xcode 14.0 RxDataSources 를 활용한 코드 플로우 간단 정리섹션마다 다른 셀을 적용tableView를 활용하여 동적 높이를 구현함.ReactorKit + RxDataSource를 활용하면 궁합이 좋음cellReactor에 initialState의 값을 Model로 초기화 결과물 UI  전체 코드 샘플코드는 하나씩 플로우를 따라가면서 볼 예정 Step 1. 모델을 정의하기// ✅ 0. 사용할 모델읠 정의class GWRxDataSourceModel { var id = UUID().uuidString ..

[ReactorKit] ReactorKit 공부하기 #7 View (programming)

ReactorKit 공부하기 #7 View (programming)ReactorKit의 많은 예제들이 스토리보드 기반으로 작성되어 있기에 코드 기반의 예제를 작성해 봄. 들어가기 전에리액터 킷을 사용할 때 내가 자주하는 실수 간단 정리리액터를 만들고 ViewContoller와 연결하지 않아서 이벤트가 발생하지 않는거내부적으로 bind를 호출하는데, 명시적으로 내가 작성해서 또 호출하는거 View 구현 코드 확인내부적으로 bind 알아서 호출해주고 있음   ViewController 코드 작성리액터 킷 ViewContoller 작성import UIKitimport ReactorKitimport RxSwiftimport RxCocoaclass MyMemoViewController: UIViewContro..

[ReactorKit] ReactorKit 공부하기 #6 transform

ReactorKit 공부하기 #6 transform 리액터킷에서 다른 리액터와 합성을 통해 이벤트를 전달받는 메서드인 transform을 공부해보고자 함. 결과물 UI ReacotrKit Global StatesReactorKit의 경우에는 앱 상태에 대한 global state를 정의하지 않음.Global State를 정의하기 위해 어떠한 방법이든 자유롭게 사용 가능Global State를 사용하기 위해 BehaviorSubject, PublishSubject 심지어는 Reactor 자체를 사용할 수 있음.ReactorKit은 앱에서 특정 기능을 위해 Global State를 강제하지 않음장점: 이에 따라 구현의 자율성 증가단점: 개발자의 숙련도에 따라 난해해질 수 있음.Action -> Mutat..

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

ReactorKit 공부하기 #5 RxTodo 따라잡기 (3)목표: Service 도입을 위해 RxTodo 코드 분석하기 RxTodo Service쪽 코드 분석ServiceProvider.swiftServiceProvider는 ServiceProviderType을 상속받아서 provider의 self로 주어 구현하는 ServiceProvider를 채택할 클래스에서 구현protocol ServiceProviderType: class { var userDefaultsService: UserDefaultsServiceType { get } var alertService: AlertServiceType { get } var taskService: TaskServiceType { get }}final cla..

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

[ReactorKit] ReactorKit 공부하기 #4 RxTodo 따라잡기 (2) 코드를 하나씩 따라쳐보면서 구현해 볼 예정  구현 코드어려웠던 점Action의 경우에는 정의하기가 그리 어렵지 않았으나, Mutation을 어떻게 줘야할 지 생각을 많이했었음.//// TaskListViewController.swift// AppleCollectionView//// Created by Hamlit Jason on 2022/09/07.//import UIKitimport ReactorKitfinal class TaskListViewController: UIViewController, View { var disposeBag = DisposeBag() let reactor: TaskListVi..

[iOS] UICollectionView에 대해서 알아보기 1편

UICollectionView에 대해서 알아보기 1편 이 문서를 작성하는 이유는 개인적으로 TableView보다 CollectionView가 범용성이 더 좋다고 생각하고 있습니다. 테이블 뷰를 컬렉션 뷰로 변환해야할 때 드는 비용을 생각했을 때, 그냥 컬렉션 뷰로 만드는게 더 낫다고 판단했습니다. 그리고 무엇보다도,, 이 문서를 정리하는 가장 큰 이유는 MVVM패턴을 기본으로 개발을 진행했지만, Cell은 늘상 MVC로 작업해 왔습니다.(그 이유는 아마도, Cell에 많은 정보가 담겨본 적이 없었기 때문) ReactorKit을 공부하면서 Cell왜 굳이 Reactor가 필요한가 싶었는데, RxTodo하면서 보니까 필요하더군요! 아무튼 컬렉션뷰를 처음부터 잘 정리해 봅시다!! (목표) - UICollect..

[ReactorKit] ReactorKit 공부하기 #1

ReactorKit 공부하기 #1 해당 포스팅은 ReactorKit 3.2.0을 기준으로 함 오늘은 ReactorKit에 대해서 공부해보려고 함.MVVM을 사용하고 있는데 무신사 등에서 리액터 킷을 사용하고 있대서 학습해보고자 함. 오픈소스 링크 및 설명https://github.com/ReactorKit/ReactorKithttps://www.slideshare.net/devxoul/hello-reactorkit Basic ConceptReactorKit은 반응적이고 단방햑적인 Swift 아키텍처를 위한 프레임워크   ReactorKit은 Flux와 Reactive Programming의 조합user의 Action과 View의 상태는 observable streams을 통해 각각의 레이어에 전달이러한 ..