일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- navigationsplitview
- Alamofire
- Tuist
- composablearchitecture
- uikit
- IOS
- xcode
- iOS 개발자
- tuist #xcodecloud #ios #ci/cd #swiftlint #firebase
- TCA
- SWIFTUI
- 모바일
- combine
- 개발
- 정규표현식
- network
- github
- ObjC
- UI
- ios18
- xcodecloud
- iOS 13.0+
- Navigation
- test
- regex
- swiftdata
- SWIFT
- concurrency
- Git
- Firebase
- Today
- Total
목록SwiftUI (14)
iOS 개발 기록
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/t7LfV/btrGKwDI2PR/2BWvfpK4smFLC5Ch6p1SXk/img.jpg)
앱을 만들면서 Text가 개행되는 것에 따라 라인을 그려줘야하는 View를 구현해야 했다. Text 한 줄의 view의 높이를 구해서 전체 View를 나누면 라인의 수가 나올거라 생각해 그 방법으로 구현하려고 했다. 그런데 SwiftUI에서는 View의 크기를 구하는게 UIKit에 비해 까다로웠다. 여기서는 SwiftUI에서 View의 크기를 구하는 두가지 방법을 소개한다. 사실 두개 다 아이디어는 똑같기는 하다. 구하고자 하는 뷰와 똑같은 크기의 하위뷰를 만들어의 하위뷰의 크기를 전달하는 것이다. 1. PreferenceKey Preference 는 Key-Value 로직으로 하위 뷰의 정보를 상위 뷰에 전달할 수 있다. 이를 위해 PreferenceKey 프로토콜을 따르는 Key를 정의해주어야 한다...
Realm은 모바일 환경을 주요 타킷으로 하는 오픈소스 데이터베이스 관리 시스템이다. 모델 구조가 객체 컨테이너로 된 NoSQL 데이터베이스를 지향하며 조금 더 직관적인 사용이 가능하고 데이터 처리 속도가 향상된 장점이 있다. 찾아보니 SwiftUI와 Combine에도 적극적으로 지원하는데 정리된 자료가 많이 없는것 같아 개인적으로 공부하며 정리해본다. Realm 의 장점 1. Swift 뿐만 아니라 JAVA, Objective-C, JavaScript, React Native 등을 지원해 크로스 플랫폼으로 DB를 공유할 수 있다. 2. SQLite, FMDB, CoreDate 등 보다 빠르다. 3. Real-Time data base sync가 가능해 Realm Studio 으로 실시간으로 데이터를 확..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/FghPw/btrzYUyVPos/1h3n6Y7XR0tIj3vmns3SCK/img.png)
애니메이션은 그것이 발생하는 어떤 계기가 있기 전의 상태, 동작 중인 상태, 동작이 끝난 상태 3가지로 구분해서 생각할 수 있다. 즉, 시작과 끝 사이의 변화값이 있다는 것으로 중간값이 없는 Bool값으로는 애니메이션을 사용할 수 없다. animation 함수 struct Example: View { @State private var blur: Bool = false @State private var reduction: Bool = false var body: some View { Image("Life") .blur(radius: blur ? 10 : 0) .animation(nil)// 이전의 함수들에는 애니메이션을 적용하지 않고 .scaleEffect(reduction ? 0.2 : 1) .anima..
- 선언형 프로그래밍 : SwiftUI 는 기존의 명령형(Imperative) 대신 선언형(Declarative) 프로그래밍 방식이다. UI 구성을 단계적으로 만들어나가는 대신 최종적으로 어떤 모습이 되기를 원하는지 결과를 선언하는 형태를 뜻한다. 선언형 프로그래밍은 상태에 따라 바뀌게 되는 제어 흐름을 하나하나 관리해야 하며 이는 버그를 유발하기 쉽고 복잡성이 늘어나는 문제점이 있다. - 자동화 : 많은 기능이 자동으로 수행될 수 있도록 제공하는 것을 목표로함. - 조합 : SwiftUI의 API는 조합과 분리를 간단히 제공함. 예를 들어 큰 뷰를 하나의 기능을 가진 작은 뷰로 분리하거나 조합하는 것을 쉽게 만들 수 있음. - 일관성 : UI는 데이터와 항상 동기화되어 일관성 있게 보여야 한다는 것. ..