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

📘UISearchControllerUIKit에서 공식적으로 제공하는 검색 UI 컨트롤러검색 바 (SearhBar) + 검색 결과 처리 (SearchResultsController)를 결합해주는 역할UITableView나 UICollectionView와 함께 자주 사용됨 🔹핵심 구성 요소구성 요소설명searchBar사용자가 검색어 입력하는 UIsearchResultUpdater입력된 텍스트에 따라 결과 업데이트 searchResultsController검색 결과를 표시할 뷰컨 (옵션, 기본은 현재 뷰)obscuresBackgroundDuringPresentation검색 중 배경 흐림 여부 (보통 false로 설정)definesPresentationContext다른 화면 전환 시 검색 바 상태 유지 여부..

📘 UIActivityViewControlleriOS에서 공유 시트 (Share Sheet)를 띄우기 위한 기본 UIKit 클래스ex. 이미지, 텍스트, URL, 파일 등을 메시지, 메일, 에어드롭, 기타 앱으로 공유하고 싶을 때 사용 🔹기본 예시class ViewController: UIViewController { @IBAction func shareButtonTapped(_ sender: Any) { let textToShare = "공유할 텍스트입니다." let urlToShare = URL(string: "https://sample.com") let activityVC = UIActivityViewController(activityItems: [textToSh..

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..