일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Observable
- map
- Xcode
- 리펙터링
- combine
- 리팩토링
- MVVM
- swiftUI
- UITextView
- uitableview
- uiscrollview
- RxCocoa
- Human interface guide
- Clean Code
- 스위프트
- Protocol
- 애니메이션
- ribs
- clean architecture
- 클린 코드
- Refactoring
- 리펙토링
- ios
- UICollectionView
- HIG
- SWIFT
- swift documentation
- collectionview
- tableView
- rxswift
- Today
- Total
목록iOS 응용 (SwiftUI) (20)
김종권의 iOS 앱 개발 알아가기
1. List 형태 UI - @State를 활용하여 로딩 상태, 로드 상태, 실패 상태 띄우기 2. List 형태 UI - pull to refresh, 페이지네이션 구현 방법 (List, refreshable, pagination, @Sendable) 3. List 형태 UI - 검색된 결과 UI에 보여지게 하는 방법 (searchable) 상태 처리 핵심 개념 - @State List형태의 UI를 구현하면 항상 로딩, 성공, 실패에 따라 UI를 다르게 보여주어야 하는데 이 때 SwiftUI의 @State를 활용하면 매우 쉽고 빠르게 구현이 가능 enum으로 로딩, 성공, 실패에 관한 정의를 하고 이 enum 타입의 프로퍼티를 @State로 선언하면 쉽게 상태 관리가 가능 목표) @State로 3가지 ..
1. Swift Charts 사용 방법 (#주식 차트, 주가) - BarMark 2. Swift Charts 사용 방법 (#주식 차트, 주가) - LineMark, RuleMark Swift Chart 개념 (이전에 알아본 개념) iOS 16+에서 사용가능 SwiftUI에서 제공하는 Chart를 사용하면 매우 쉽게 차트 그리기가 가능 LineMark 사용 LineMark: 그래프에서 (x, y)좌표들을 연결해 놓은 주식 차트 같은곳에서 사용 예제에 사용할 Date 구조체 정의 struct Data { let name: String = "jake" let date: Date let value: Int } let datas = [ Data(date: .now, value: 10), Data(date: .no..
1. Swift Charts 사용 방법 (#주식 차트, 주가) - BarMark 2. Swift Charts 사용 방법 (#주식 차트, 주가) - LineMark, RuleMark Swift Chart 개념 iOS 16+에서 사용가능 SwiftUI에서 제공하는 Chart를 사용하면 매우 쉽게 차트 그리기가 가능 Swift Chart 사용 방법 import Charts로 모듈 import import SwiftUI import Charts 차트에 들어갈 모델 정의 struct ToyShape: Identifiable { var type: String var count: Double var id = UUID() } data정의 struct ContentView: View { var data: [ToyShap..
1. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - 개념 2. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UI 구현 방법 3. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UIKit에서 다이나믹 아일랜드 적용 방법 예제를 위한 UIKit 프로젝트 생성 Interface > SwiftUI가 아닌 Storyboard 선택 info.plist에서 Live Activity 활성화 Xcode에서 target 선택 Widget Extension 추가 생성된 것 중 필요한 두 가지 파일 확인 JakeBundle: body가 있으며 여러 위젯을 노출할때 사용되는 컨테이너..
1. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - 개념 2. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UI 구현 방법 3. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UIKit에서 다이나믹 아일랜드 적용 방법 * Live Activity 기본적인 세팅 방법은 이전 포스팅 글인, 1번 글 참고 Dynamic Island의 UI 구현 방법 1번글에서 자동으로 생성된DynamicIslandWidgetLiveActivity코드 import ActivityKit import WidgetKit import SwiftUI struct DynamicIslandWid..
1. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - 개념 2. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UI 구현 방법 3. Live Activity (ActivityKit, Dynamic Island, 잠금 화면) - UIKit에서 다이나믹 아일랜드 적용 방법 Live Activity 개념 실시간 현황을 Dynamic Island나 잠금화면 또는 아이폰 화면에 보여주기 위해 나온 개념 Live Activity는 iPhone에서만 가능 Live Activity 특징 Live Activity 업데이트는 오로지 ActivityKit으로 접근해야 가능 최대 8시간 지속 가능 (8시간 경과 시 시스템에 의해 자..
List, Grid, FittedGrid 개념 List - 1줄로 된 스크롤 뷰 Grid - n줄로 된 스크롤 뷰이며, 각각의 크기가 Fixed로 정해진 값으로 표출 FittedGrid - 이미지와 같은 경우, width는 디바이스의 크기만큼 고정하면서 height값은 이미지의 비율만큼 유지하는 그리드 뷰 List Grid FittedGrid 구현 아이디어 모두 ScrollView, Stack, ForEach, NavigationLink로 구현 List에도 List라는 SwiftUI에서 제공해주는 컴포넌트가 있지만, 디폴트값으로 패딩이 적용되어 있고 disclosure indicator가 있는 경우가 존재하여 불필요 예제에 사용할 API 사용 API - 이미지 리스트를 불러오는 Flickr https:/..
1. Pagination 방법 (페이지네이션, Combine) - 기초 2. Pagination 방법 (페이지네이션, Combine) - 메인 스레드 최적화, 이미지 캐싱 이미지를 불러올때 고려할 것 url을 가지고 이미지를 불러올 때, main thread에서 이미지를 가져오면 앱이 버벅이는 현상이 존재 심지어 AsyncImage를 통해서 async하게 이미지를 불러와도 앱이 버벅이는 현상이 존재 background thread에서 url을 통해 이미지를 불러오도록 구현 Image Caching 적용을 통해 조금 더 빠른 로딩이 되도록 구현 이미지 캐싱이 없다면 매번 url을 네트워킹을 통해서 이미지를 획득하므로 캐싱이 필수 구현 아이디어 url을 통해 이미지를 불러오는 코드는 background th..