일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- swift concurrency
- swift 점선
- rxdatasources
- custom ui
- traits
- DP
- 타임라인 포맷팅
- button configuration
- swift navigationcontroller
- tusit font 추가 방법
- identifiable
- task cancellation
- RxSwift
- swift dashed line
- swift 백준
- paragraph style
- domain data
- reactorkit
- uikit toast
- custombottomsheet
- coordinator
- claen architecture
- BFS
- task cancel
- SWIFT
- swift bottomsheet
- UIKit
- swift custom ui
- custom navigation bar
- Tuist
- Today
- Total
목록전체 글 (82)
김경록의 앱 개발 여정
✅ 구조적 동시성과 작업 취소구조적 동시성이란?부모 Task가 종료되기 전까지, 그 아래에서 생성된 자식 Task들도 모두 종료되어야 하는 규칙Swift의 async let, withTaskGroup 이 대표적인 구조적 동시성 도구취소는 위에서 아래로 전파됨 (부모 → 자식)즉, 부모가 취소되면, 구조적으로 연결된 자식들도 자동으로 취소됨구조적 동시성에 관한 이전 글 ) https://roks-apps.tistory.com/76 ✅ async let의 작업 취소특징async let 은 선언된 순간 비동기 작업을 시작하고, 자동으로 취소 전파 대상이 됨await 하기 전에 부모 Task가 취소되면, async let 작업도 취소됨특별히 .cancel() 하지 않아도 자동으로 정리(cleanup) 됨예시fu..
작업의 즉시 멈춤이 아닌, ‘취소를 전파’하는 개념Swift의 Task는 취소를 요청받더라도, 즉시 중단되는 것이 아니다.대신, “취소되었다는 신호” 를 내부적으로 가지고 있고, 작업 내에서 그 신호를 직접 확인하고 적절히 대응해야 함.이걸 "cooperative cancellation" 이라고도 함. 작업이 스스로 확인하고 정리하는 방식.(협동적 취소)부모-자식 관계와 취소 전파Swift의 structured concurrency에서는 부모 Task가 있고, 그 안에 자식 Task가 만들어질 수 있어.부모 Task가 취소되면, 자식 Task에게도 취소가 전파됨.하지만! 자식 작업이 완전히 끝날 때까지 (심지어 에러가 발생했더라도), 부모 작업은 기다림.즉, 취소되더라도 자식 작업은 graceful하게 ..

📘 개요MVVM 패턴에서 ViewModel(이하 VM)은 UI 요소와 독립적이어야 한다고들 합니다.그런데 그 '독립성'의 기준은 어디일까요?예를 들어, UIKit을 import 하지 않으면 독립적인 걸까요?UILabel의 텍스트처럼 화면에 표현될 값을 포장하여 다루는 건 괜찮을까요? (ex: n 개, n원)혹은 View가 isHidden일지 말지를 판단하는 Bool값을 ViewModel에서 들고 있는 건 괜찮을까요?이 글은 제가 실제로 진행한 프로젝트에서 MVVM을 따르고 있다고 생각했지만, 결과적으로는 안티 패턴에 가까운 코드를 작성했던 경험을 되돌아보며,ReactorKit을 기준으로 어떤 식으로 View와 ViewModel의 책임을 분리했는지 정리한 글입니다🎭 “State는 화면의 상태”라는 말의..