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

📘자동 업데이트새로운 버전이 있을 때 사용자에게 알리고 업데이트를 유도하는 기능에 대해 정리해보려 함 🔹기본 흐름1. 현재 앱 버전 확인Bundle.main.infoDictionary를 통해 현재 버전 추출 2. 서버 / API에서 최신 버전확인App Sotre API를 통해 버전 정보 확인 3. 버전 비교현재 사용자 어플 버전(1번 값)과 앱 스토어 버전(2번 값)을 비교 4. 사용자에게 업데이트 유도버전 비교(3번 값)가 다를 경우 앱스토어로 이동하도록 유도 🔹사용자가 사용중인 현재 버전 가져오기let current = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String else { return } 🔹서버(App Store..

📘 List와 CheckBoxList item에 그냥 checkBox를 넣게 되면 개별 계산이 안되는 경우가 있어서개별로 활동가능한 경우를 정리해두려 작성 🔹Item 데이터 모델struct Item: Identifiable { let id = UUID() let name: String var isChecked: Bool} 🔹List에 적용struct ContentView: View { @State private var items: [Item] = [ Item(name: "사과", isChecked: false), Item(name: "바나나", isChecked: false), Item(name: "오렌지", isChecked: false), ..

📘List Drop DownList 내 항목을 눌렀을 때 드롭다운처럼 하위 항목이 펼쳐지는 UIExpandable List 또는 Accordion List라고 부름각 항목의 펼침 상태를 추적하는 플래그가 필요함🔹항목 모델 정의struct DataModel { let iconName: String let title: String var destination: AnyView}struct DropdownItem: Identifiable { let id = UUID() let title: TitleModel let details: [DataModel] var isExpanded: Bool = false}🔹메인 뷰 - List를 활용한 DropDown@Binding va..

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