일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- class
- Git
- CoreImage
- uikit
- apns
- 화면전환
- IOS
- array
- singleton
- escaping
- calendar
- SWIFT
- error
- segue
- Refresh
- SWIFTUI
- mvvm
- viewlifecycle
- Switch
- NotificationCenter
- 글또
- 고차함수
- list
- PushNotification
- http
- self
- Observer
- struct
- Animation
- ScrollView
- Today
- Total
목록My P_Life (121)
seong_hye, the developer

UICollectionView 속에는 UICollectionViewLayout과 UICollectionViewFlowLayout이 있어사용할 때 헷갈려서 한번 이 둘의 차이에 대해 한 번 정리해보려고 한다.📘 UICollectionViewLayout - 추상 클래스 (설계도)모든 레이아웃의 기반이 되는 추상 클래스직접 사용하는 경우는 드물고, 서브클래싱해서 커스텀 레이아웃을 만들 때 사용함이 클래스를 상속해서 자신만의 layout behavior를 정의할 수 있음 🔍 주요 역할- 셀의 위치 및 크기 계산 (layoutAttributesForElements)- 콘텐츠 사이즈 제공 (collectionViewContentSize)- 레이아웃 무효화 처리 (shouldInvalidateLayout .....

📘MacBook 단축키 정리맥북에는 단축키를 통해 쉽게 원하는 기능을 사용할 수 있도록 되어있음🔹기본 시스템 단축키기능 단축키스팟라이트 검색 Command (⌘) + Space 강제 종료 Option (⌥) + Command (⌘) + Esc스크린샷 전체 화면 Command (⌘) + Shift (⇧) + 3스크린샷 지정 영역 Command (⌘) + Shift (⇧) + 4클립보드 보기 (유니버셜) Command (⌘) + Shift (⇧) + V (앱에 따라 다름)Siri 실행 Option (⌥) + Space / Fn 길게 누르기런치패드 열기F4 / Fn + F4Dock 숨기기 / 표시 Option (⌥) + Command (⌘) + D🔹Finder 관련기능단축키새 Finder 창 열기 Co..
📘 DarkModeSwift에서는 iOS 13이상에서는 기본적으로 시스템 다크모드에 따라 UI가 자동으로 반응함시스템 색상을 사용하면 라이트/다크 모드에 따라 색상이 변경됨시스템 색상라이트 모드다크 모드.systemBackground흰색검정.label검정흰색.secondaryLabel회색연회색.systemGray중간 회색중간 회색 (어두움) ➡️시스템 색상 적용 방법Text("자동 색상 대응") .background(Color(.background)) .foregroundColor(Color(.primary)) 🔹 ColorSchemeSwiftUI에서 현재의 색상 모드 ( = 다크모드 / 라이트모드)를 나타내는 열거형(enum)다크 모드 대응 UI를 만들 떄 핵심적으로 사용되는 환경 값 ✅ Co..
모두 데이터와 뷰 상태를 연결하기 위한 속성 래퍼이다이들은 각각의 역할과 적용 범위, 생명주기가 다르기 때문에 구분해서 사용하는 것이 중요하다 📘 ObservableObjectSwiftUI에서 클래스 기반 상태를 뷰와 연결해주는 핵심 프로토콜뷰가 해당 객체를 구독하고 내부 값이 바뀌면 뷰가 자동으로 업데이트됨주로 크래스를 기반으로하는 뷰모델을 만들 때 사용함 🔹예시// 상태 객체 선언class CounterModel: OBsrvableObject { @Published var count = 0}// 뷰에서 연결struct TestView: View { @ObservedObject var viewModel: CounterModel var body: some View { VStack { ..

📘 Toast사용자가 앱을 조작할 때 화면 하단에 잠깐 표시되는 알림 메시지 🔹 기본 Toast 생성 방법➡️ toast struct toast 메시지를 보여줄 기본 틀struct Toast: Equatable { var message: String //보여줄 메시지 var duration: Double = 1.5 // 보여질 시간 var width: Double = 300 // toast 가로 크기} ➡️ toastViewtoast를 화면에 어떻게 보여줄 지 보여주는 뷰struct ToastView: View { var message: String var width = CGFlat(200) var onCancelTapped: (() -> Void) var b..

❗️ "Index out of range" error 해결 ❗️Swift에서 가장 자주 마주하게 되는 오류라고 할 수 있음 Index out of range = 배열이나 컬렉션의 범위를 벗어난 인덱스에 접근할 때 발생하는 에러 🔹 자주 발생하는 원인- 인덱스를 하드코딩 했는데 값이 없을 경우let arrays = [1, 2, 3, 4, 5]for i in 0...5 { // error ~> 갯수는 5개지만 인덱스는 0~4까지임} - 빈 배열에서 접근 시도var arrays = []print(arrays[0]) // error ~> 아직 값이 들어오지 않았음 - 비동기 작업에서 배열 변경 후 접근var arrays = []arrays.getArray()...if ( ... ) { arrays.remove..
📘 Error Code시스템, 네트워크, API, 앱 내부 등에서 발생한 오류의 종류를 숫자로 식별하기 위한 코드상황에 따라 의미가 다르지만, 일반적으로 범주를 나눔 🔹 HTTP 에러 코드 (100~599)가장 알려진 에러코드네트워크 통신 (REST API)에서 사용됨범위의미예시1xx정보100: Continue2xx성공200: OK, 201: Created3xx리다이렉트301: Moved Permanently, 304: Not Modified4xx클라이언트 오류400: Bad Request, 401: Unauthorized, 404: Not Found5xx서버 오류500: Internal Server Error, 503: Service Unavailable📌 서버와 클라이언트 간의 HTTP 응답 상..
📘 SwiftUI - View Life CycleSwiftUI의 View는 선언형(Declarative) 방식이기 때문에 UIKit과는 전혀 다른 생명주기를 가지고 있음SwiftUI는 상태(State)나 환경(Environment)의 변화에 따라 뷰를 다시 생성하고 그리기 때문에UIKit처럼 언제 뷰가 생성되고 사라지는가보다는 상태 변화에 따라 어떤 동작을 해야 하는가에 초점이 맞춰져 있음 🔹SwiftUI View Lifecycle 핵심 개념개념설명상태 기반@State, @Binding, @ObservedObject 등이 바뀌면 뷰가 재계산(re-render)됨구조체 뷰SwiftUI의 View는 구조체라서 상태 변경 시마다 새로운 뷰가 생성되는 것처럼 보임시스템 주도뷰 생성 / 파괴 시점을 직접 제어..