eung7.archive
close
프로필 사진

eung7.archive

github: @eung7

  • 분류 전체보기 (33)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (23)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (10)
      • XCode (6)
    • Flutter (3)
      • Dart (1)
      • Flutter 기본 (2)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
  • 홈
  • GitHub
Diffable DataSource + ReactorKit으로 복잡한 UI 관리하기

Diffable DataSource + ReactorKit으로 복잡한 UI 관리하기

서론 UIDiffableDataSource는 iOS13 및 WWDC19부터 공개된 기존 고전 방식의 DataSource를 대체하는 새로운 API입니다. 이 API를 통해서 기존 UI를 구현하는 방식보다 훨씬 간단하고 효율적으로 구현할 수 있습니다. 추가적으로 DiffableDataSource와 잘 어울리는 레이아웃을 그리는 API인 Compositional Layout과 CollectionViewCell인 이 세 가지를 이용하여 화면을 구성하는 방법을 소개해드릴 예정입니다. 제가 진행했던 페이버 프로젝트는 ReactorKit과 RxSwift의 조합을 사용하고 있습니다. ReactorKit은 MVVM의 Rx화를 시켜 통일화를 시켜준 라이브러리이기 떄문에 Reactor를 ViewModel이라고 생각하셔도 무..

  • format_list_bulleted iOS 응용
  • · 2024. 3. 30.
Environment Value를 통해 의존성 주입하기

Environment Value를 통해 의존성 주입하기

의존성 주입이란?의존성 주입은 클래스 간의 결합도를 낮추고 코드 유연성을 높이는 중요한 개념클래스 간의 의존성이 있다는 것은 한 클래스가 다른 클래스에 영향을 미친다는 것을 의미예를 들어, 한 클래스가 변경될 때 다른 클래스도 영향을 받는 상황입니다. 프로토콜 의존성 주입프로토콜 의존성 주입은 클래스 간의 결합도를 낮추기 위해 프로토콜을 사용하는 방법이를 통해 코드 유연성을 높임프로토콜을 정의하여 클래스가 특정 기능을 구현하도록 강제하고, 이를 의존성 주입을 통해 클래스에 주입유연성 증대: 프로토콜을 통해 클래스의 인터페이스를 추상화하면, 해당 클래스를 변경할 때 다른 클래스에 영향을 덜 줌. 즉, 코드 변경 시 다른 클래스에 영향을 최소화테스트 용이성: 프로토콜을 사용하여 클..

  • format_list_bulleted iOS 응용
  • · 2024. 3. 30.
MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

MVVM과 Coordinator Pattern 함께 사용하기 (Feat. ReactorKIt)

iOS 어플리케이션을 개발할 때, 아직까지 가장 많이 선호되는 디자인 패턴은 MVVM이라고 할 수 있습니다. 이번에는 MVVM과 Coordinator를 혼합한 디자인 패턴을 사용하고 구체적인 예시를 보여주는 포스트를 작성하려고 합니다. MVVM MVVM은 Model - View - ViewModel의 약어입니다. 아래 이미지에서 보이는 것과 같이 ViewModel은 View와 Model을 이어주는 인터페이스 역할을 하고 있습니다. iOS에서는 통상적으로 View를 ViewController라고 이해해도 좋습니다. 주로 사용자의 이벤트를 감지하고 그에 맞는 비즈니스 로직을 수행하여 View에게 업데이트를 요청합니다. 일반적인 ViewModel과 ViewController간의 소통은 Delegates, Ca..

  • format_list_bulleted iOS 응용
  • · 2024. 3. 30.
Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern의 개념과 적용 방법

Coordinator Pattern을 한 마디로 정의하면 화면 전환에 대한 코드를 다른 객체에 위임하여 별도로 관리할 수 있도록 하는 디자인 패턴입니다. 그렇다면 이것을 “왜” 사용하는 걸까요? 우리의 ViewController는 할 일이 매우 많습니다. 복잡한 UI를 구성하는 UI일수록 더욱 그렇습니다. 이외에도 데이터와 UI 바인딩, 라이프 사이클 관리, 또 MVC 패턴을 사용한다면 그 크기가 더욱 방대해질 것입니다. 이렇게 하나의 ViewController에서 많은 역할을 수행하면 정작 해야할 UI 관리에 집중을 하지 않게 될 수 있습니다. Coordinator Pattern의 장점 그래서 등장한 것이 Coordinator Pattern디자인 패턴입니다. 우리는 ViewController에서 화면 ..

  • format_list_bulleted iOS 응용
  • · 2024. 3. 30.
  • navigate_before
  • 1
  • 2
  • navigate_next
전체 카테고리
  • 분류 전체보기 (33)
    • CS (5)
      • 운영체제 (5)
      • 네트워크 (0)
    • iOS (23)
      • Swift (1)
      • iOS 기본 (6)
      • iOS 응용 (10)
      • XCode (6)
    • Flutter (3)
      • Dart (1)
      • Flutter 기본 (2)
      • Flutter 응용 (0)
    • 소프트웨어 공학 (2)
Copyright © Eung7 모든 권리 보유.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.