일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Switch
- 구조적특징
- protocol
- list
- SWIFTUI
- array
- Refresh
- viewlifecycle
- segue
- struct
- ScrollView
- http
- error
- IOS
- 회고
- 고차함수
- apns
- 점진적로딩
- escaping
- SwiftStyle
- 화면전환
- class
- 글또
- uikit
- Git
- NotificationCenter
- PushNotification
- SWIFT
- self
- ShareSheet
- Today
- Total
목록SWIFTUI (17)
seong_hye, the developer
📘Swift 구조적 특징Swift는 안전성, 성능, 현대적 문법을 모두 고려하여 설계된 언어로 다른 언어들과 구별되는 구조적 특징(structural characteristics)이 아주 뚜렷함 🔹정적 타입(Static Typing) 기반 언어변수의 타입이 컴파일 시점에 결정됨타입 추론도 가능하지만 실제로는 정적 타입 시스템let a: Int = 3 // type: Intlet one = 1 // type: Intlet a = "A" // type: Stringlet b: Character = "B" // type: Character ➡️ 장점컴파일 시 오류를 빨리 찾을 수 있음성능 최적화에 유리🔹값 타입(Value Type) 중심 구조struct, enum 등 값 타입(value ..

📘 오류 해결) List Refreshable 오류앱을 만들던 중 List가 Refresh 되지 않는 오류가 있었다처음 딱 떴을 때 refresh가 되었으면 좋겠는데 되지 않고 계속 문제가 되는 부분이 있어서시도해 본 여러 방법과 해결방안에 대해 작성해보려 한다.🔹 현재 어플 및 코드 축약윗쪽 탭바와 그에 맞게 아래 리스트를 둔 화면을 만들고 싶어서다음과 같은 코드를 활용해 아래 화면을 제작하였다VStack { ScrollView(.horizontal) { ... } TabView( .. ) { List { ... } .refreshable { ... } ... }} ❌ 문제 상황탭을 눌러 처음..
📘배열 나누기 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..

📘 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..
📘 SwiftUI - View Life CycleSwiftUI의 View는 선언형(Declarative) 방식이기 때문에 UIKit과는 전혀 다른 생명주기를 가지고 있음SwiftUI는 상태(State)나 환경(Environment)의 변화에 따라 뷰를 다시 생성하고 그리기 때문에UIKit처럼 언제 뷰가 생성되고 사라지는가보다는 상태 변화에 따라 어떤 동작을 해야 하는가에 초점이 맞춰져 있음 🔹SwiftUI View Lifecycle 핵심 개념개념설명상태 기반@State, @Binding, @ObservedObject 등이 바뀌면 뷰가 재계산(re-render)됨구조체 뷰SwiftUI의 View는 구조체라서 상태 변경 시마다 새로운 뷰가 생성되는 것처럼 보임시스템 주도뷰 생성 / 파괴 시점을 직접 제어..
UIKit에서는 프로젝트가 만들어지면 AppDelegate와 SceneDelegate가 생성되듯이https://programming-seonghye.tistory.com/57 UIKit) AppDelegate & SceneDelegate 알아보기UIKit을 사용하기 위해 프로젝트를 만들게 되면만들어져있는 기능들에 대해 알아보려 한다📘 AppDelegateiOS 앱의 생명 주기(lifeCycle)와 시스템 이벤트를 관리하는 핵심 클래스앱이 실행될 때부터 종programming-seonghye.tistory.com SwiftUI에서 생성되는 App에 대해 알아보자📘App ProtocoliOS 14부터 도입된 앱 생명주기를 선언적으로 정의하는 새로운 진입점(entry point)@main과 함께 사용되어 ..

📘 SwiftUI - 화면 맨 위로 올라오기어플을 사용하다보면 스크롤 하다가 버튼을 눌러 화면의 맨 위로 올라오도록 하는 경우를 볼 수 있다해당 경우를 어떻게 구현했는지 정리해보려 한다. 🔹 기본 개념- ScrollViewReader: 뷰에 스크롤 위치 조작 기능을 부여할 수 있음 - .id( id 값 ) : 스크롤 목표 위치에 식별자를 붙임- .scrollTo( id 값 ) : 해당 위치로 스크롤 이동이 가능함🔹List에 버튼을 통해 위로 올리기struct ContentView: View { @State private var showButton = false let items = Array(1...100) var body: some View { ScrollviewR..