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

📘 LottieJSon 기반 애니메이션 파일을 앱, 웹, React Native 등 다양한 플랫폼에서 실시간으로 재생할 수 있게 해주는 라이브러리디자인 도구인 Adobe After Effects에서 만든 애니메이션을 Bodymovin 플러그인을 통해 JSON으로 내보내고 이를 Lottie로 앱에 넣어 재생하게 됨 Lottie = After Effects 애니메이션을 앱에서 부드럽게 실행하는 도구🔹 Lottie의 특징항목설명애니메이션벡터 기반 애니메이션 (JSON) 재생 가능퍼포먼스가볍고 빠름 (GIF보다 효율적)플랫폼 지원iOS, Android, Web, React Native, Flutter 등디자이너 친화디자이너 -> AE로 만든 애니메이션을 그대로 사용 가능JSON 파일Bodymovin으로 내보..

📘 KingfisherSwift에서 널리 사용되는 이미지 다운로드 및 캐싱 라이브러리특히 URL 기반 이미지 로딩을 간단하게 처리할 수 있고.내부적으로 강력한 메모리/디스크 캐싱, 다운로드 관리, 프리페치, 리사이징, 리사이클링 등을 제공 Kingfisher = Swift에서 이미지 URL을 비동기 로딩 + 캐싱까지 한 번에 해주는 라이브러리 🔹 주요 기능기능설명URL 이미지 다운로드imageView.kf.setImage(with: URL) 한 줄로 가능메모리 + 디스크 캐싱자동으로 처리 (옵션 조정 가능)SwiftUI 지원.kfImage 뷰로 간편하게 사용 가능이미지 가공리사이징, 블러, 라운딩, 필터 등 적용 가능프리페칭다가올 이미지 미리 다운로드재사용 최적화셀 재사용 상황에서 매우 효율적프로그레..

📘 Swift) Picker & DatePicker사용자의 선택을 입력받는 기본적인 선택 UI 컴포넌트 🔹Picker (일반 선택 목록 - 드롭다운, 휠 등)사용자가 리스트 중 하나를 선택할 수 있도록 함import struct ContentView: View { @State private var selectedMedia = "드라마" let medias = ["드라마", "영화", "애니메이션", "TV쇼"] var body: some View { Picker("미디어 선택", selection: $seletedMedia) { // 반복문을 사용하는 경우 ForEach(medias, id: \.self) { media in T..
📘 SwiftUI - 하단 RefreshScrollView나 list를 다루다보니 앱의 마지막에 도착했을 때 refresh를 추가하고 싶어지는 경우가 있었다이 때 해결방안을 정리해두려 한다.🔹하단 갱신 방법 ✅ ScrollView에서 하단 감지 후 refresh 구현ScrollView { LazyVStack { ForEach(.., id: \.self) { item in .. } if isLoading { ProgressView() .padding() } else { GeometryReader { geometry in Color.clear ..

UIKit 에서는 COllectionView를 활용그렇다면 SwiftUI에서는 어떻게 할 수 있을까?📘 LazyVGrid & LazyHGridUICollectionView처럼 그리드 형태의 레이아웃을 수직(V) - 수평(H) 방향으로 스크롤 할 수 있게 해주는 컴포넌트 게으른(Lazy) 방식으로 화면에 보이는 셀만 그려서 성능을 높이는 방식 🔹 기본 코드✅ 세로 2열 컬렉션 뷰let columns = [GridItem(.flexible()), GridItem(.flexible())] //2열ScrollView { LazyVGrid(columns: columns, spacing: 15) { ForEach(0.. ✅ 가로 2열 컬렉션 뷰let rows = [GridItem(.fixed(100)),..

📘 CocoaPodsRuby 기반의 iOS/ macOS 개발에서 가장 널리 사용되는 라이브러리 관리 도구 🔹 핵심 기능기능설명의존성 설치Podfile에 원하는 라이브러리를 적고 pod install로 설치버전 관리특정 버전 고정 또는 최신 버전 유지 가능자동 연결Xcode 프로젝트에 .xcworkspace 자동 생성 및 연동간단한 업데이트pod update로 전체/개별 라이브러리 업데이트🔹 사용 방법 ✅ Xcode 프로젝트 폴더로 이동- 터미널에서 이동cd ~/파일이름 - 파일에서 오른쪽 클릭에서 터미널 열기✅ Podfile 생성pod init➡️ Podfile이라는 텍스트 파일이 생성됨✅ Podfile 수정# platform: ios, '15.0'target '파일이름' do use_framewo..

📘 AlamofireSwift에서 가장 널리 쓰이는 HTTP 네트워킹 라이브러리복잡한 URLSession 코드를 간단하게 만들고, REST API 요청/응답처리, 파일 업로드/ 다운로드, JSON 파싱, 인증 등을 쉽게 처리할 수 있음 Alamofire = Swift의 간편하고 강력한 HTTP 통신 라이브러리 🔹 주요 기능기능설명HTTP 요청GET, POST, PUT, DELETE 등 API 요청JSON 처리자동으로 JSON -> Swift 객체로 파싱 가능인증/헤더 처리토큰, 커스텀 헤더 쉽게 추가 가능파라미터 인코딩 URL, JSON, multipart 등 지원파일 업로드/ 다운로드Progress 추적 가능오류 처리상태코드, 네트워크 실패 등 깔끔하게 관리오쳥 시간 측정, 리트라이고급 요청 관리 ..

객체를 만들기 위해 가장 먼저 필요로 하는 것이 있다.가진 속성을 초기화를 필요로 하기에 생성자를 가장 먼저 필요로 하게된다. 그렇다면 생성자란 무엇일까?생성자는 클래스, 구조체, 열거형에서 인스턴스를 준비하기 위한 과정으로 인스턴스의 프로퍼티들마다 초기값을 설정해주고새 인스턴스를 사용하기 전에 필요한 설정과 초기화를 수행하는 과정을 말한다. 각각의 타입에서 새로운 인스턴스를 만들 수 있는 특수한 메서드와 같은 역할을 하는 생성자를 정의하여 사용할 수 있다.생성자의 가장 중요한 역할은 새로운 인스턴스가 처음 사용되기 전에 올바르게 초기화되는 것을 보장하는 것이다.모든 생성자가 동일하지는 않다.특히, 구조체와 클래스의 생성자에는 차이가 있다.표를 통해 간단히 정리하고 내용을 정리해볼까 한다. 구분구조체(S..