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

📘Side Menu일반적으로 왼쪽(또는 오른쪽)에서 슬라이드되어 나오는 형태의 메뉴 앱의 주요 탐색 기능을 제공UIKit에서는 UISideMenuNavigationController 이용but, SwiftUI에서는 직접 구현 또는 패키지 이용 🔹사이드 메뉴 만들기➡️ Side Menu Case 정리enum SideMenuType: Int, CaseIterable { case home = 0 //case를 숫자로 초기화 case favorite case chat case profile var title: String { switch self { case .home: return "Home" case .favorite: ..
코딩은 개인으로 진행되기도 하지만 많은 사람들이 같이 진행되는 것이다 보니 스타일이 필요하게 됨 📘 Swift Style Swift 언어를 가독성 좋고 일관성 있게 작성하기 위한 규칙과 권장 방식물론 법이 아닌 스타일이기에 변할 수 있다는 점 참고 🔍 Swift Style 핵심 요약주제스타일 원칙네이밍명확하고 간결하게, camelCase 사용들여쓰기스페이스 4칸 (보통 XCode 기본은 4)줄바꿈중괄호 {}는 다음 줄에 작성함수 설계읽었을 때 자연어처럼 읽히도록옵셔널 처리안전하게, 명확하게모듈 분리타입, 기능 단위로 적절히 나눔🔹 Naming메소드 및 변수는 소문자로 시작하지만, 모듈단위의 클래스명과 상수는 대문자로 함 (= camelCase) 명확하고 간결하게 줄임말을 최소화하여 작성함let ..
📘배열 나누기 SwiftUI에서 배열 데이터가 너무 많아 리플래시를 활용해 데이터를 나누고 추가로 받아오는 방식을 정리해보려 함 🔹배열 나누는 코드@State private var fullData = Arry(1...1000) // 전체 데이터@State private var visibleData : [Int] = [] // 화면에 보일 데이터@State private var batchSize = 20func divideArray() { let nextEnd = min(visibleData.count + batchSize, fullData.count) let nextItems = fullData[visibleData.count ..- 전체 데이터 사이즈를 통해 20개씩 받아올 수 있도록 코드..
코드를 작성하다보면 동기와 비동기에 대해 알게 되는데오늘은 이 내용을 한 번 정리해보려 합니다. 동기 & 비동기 = 프로그래밍에서 작업의 실행 흐름과 시간 제어 방식에 대한 개념📘 동기(Synchronous)한 작업이 끝나야 다음 작업을 실행하는 방식작업이 완료될 때까지 기다렸다가 다음 명령을 실행하는 순차적 흐름 🔹예시 코드func loadData() -> String { //ex. 오래 걸리는 작업 return "데이터 로딩 완료"}let result = loadData() //📌 작업이 끝날 때까지 여기서 멈춤print(result)- loadData() 함수가 완료될 때까지 다음 줄로 넘어가지 않음- 사용자 경험 (UX) 측면에서 UI가 멈추는 것처럼 보일 수 있음 🔹핵심 특징항목..

📘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 .....
📘 DarkModeSwift에서는 iOS 13이상에서는 기본적으로 시스템 다크모드에 따라 UI가 자동으로 반응함시스템 색상을 사용하면 라이트/다크 모드에 따라 색상이 변경됨시스템 색상라이트 모드다크 모드.systemBackground흰색검정.label검정흰색.secondaryLabel회색연회색.systemGray중간 회색중간 회색 (어두움) ➡️시스템 색상 적용 방법Text("자동 색상 대응") .background(Color(.background)) .foregroundColor(Color(.primary)) 🔹 ColorSchemeSwiftUI에서 현재의 색상 모드 ( = 다크모드 / 라이트모드)를 나타내는 열거형(enum)다크 모드 대응 UI를 만들 떄 핵심적으로 사용되는 환경 값 ✅ Co..