SwiftUI에서 부모뷰가 자식뷰의 설정값을 감지할 수 있는 방법 중 하나로, PreferenceKey가 있어요. 오늘은 PreferenceKey protocol에 대한 개요와 함께 실제 사용 예시를 알아보도록 하겠습니다. iOS SwiftUI, PreferenceKey protocol은 무엇인가?PreferenceKey에 대한 Quick Help 정보를 먼저 보겠습니다. 요약 정보는 View에 의해 생산되는 값 이라고 합니다. protocol로 정의가 되어있고, PreferenceKey를 채택해서 사용하려면 몇가지 구현이 필요합니다. PreferenceKey를 사용하면, 하위뷰에서 preference viewModifier를 통해 preferenceKey 값을 수정하면, 그 값을 부모 뷰에서 감지할 ..
Xcode 14.0 이상 버전에서 프로젝트 생성 후, 최소 deployment target version을 iOS13 이상으로 설정하면 겪게 될 수 있는 "~ is only available in iOS 14.0" 컴파일 에러가 있습니다. 오늘은 이 오류에 대한 수정방법을 빠르게 알아보겠습니다. Xcode 14.0, 'main()' is only available in iOS 14.0 언제 이 컴파일에러가 발생하지? 제가 이 컴파일 에러를 경험하게 된 케이스를 공유드립니다. Xcode 14.2버전으로 SwiftUI 프로젝트를 생성했습니다. 그리고 프로젝트 설정 화면에서 Minimum Deployments를 iOS 13.0으로 수정합니다. App Target > General > Minimum Deploy..
iOS에서는 FileManager를 통해 쉽게 이미지, 동영상, JSON 등의 다양한 파일 데이터를 로컬에 저장하고, 공유하고, 삭제할 수 있죠. 오늘은 그렇게 저장된 로컬 데이터를 Xcode에서 .xcappdata 확장자 파일로 받아서 쉽게 확인하고, 테스트, 관리하는 방법을 빠르게 알아봅니다. 일단, 기존에 제가 포스팅했던 FileManager를 통한 비디오 데이터 저장 및 공유 포스팅을 참고해주세요(바로 아래 링크 참고). 테스트용 데이터를 저장하고 확인하면 더 와닿으실 겁니다! iOS FileManager를 활용하여 URL로부터 비디오 데이터 저장 후, 공유하는 방법 ▼ iOS FileManager, Video URL Data 파일 저장 및 공유 방법 앱을 개발하다보면, 특정 URL로부터 Data..
앱을 개발하다보면, 특정 URL로부터 Data를 얻고 그 데이터를 저장하고, 공유하는 기능을 구현해보고 싶을때가 있을거에요. 오늘은 URL, Data, FileManager등을 사용해서 그 과정을 실제로 구현해보도록 하겠습니다. 파일 공유에 사용되는 ActivityViewController SwiftUI로 사용할 수 있도록 구현하기 UIActivityViewController는 UIKit에서 파일 공유창으로서 사용되는 UIView인데요. 이를 UIViewControllerRepresentable을 채택해서 래핑하면, SwiftUI View에서 사용이 가능해집니다. 69 ~ 70행) activityItems에 공유하고자하는 파일의 URL을 넘겨서 공유를 할 수 있고, applicatioinActivitie..
- Total
- Today
- Yesterday
- swift string
- ios
- SwiftUI
- swift 문자열
- swift문제
- 부스트코스
- 스위프트
- uikit
- swift reduce
- 개발자문서
- createML
- swift 기초
- 컬렉션
- 알고리즘문제
- Collection
- 백준swift
- 프로토콜
- 자연어처리
- swift
- publisher
- 김프매매
- 알고리즘
- swift언어
- CoreML
- 프로그래머스
- Swift 알고리즘
- 백준알고리즘
- 프로그래머스swift
- Protocol
- swift알고리즘
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |