[SwiftUI] SwiftUI로 카메라 기능 구현하기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 SwiftUI와 AVFoundation을 사용해서 마치 인생네컷 포토 부스처럼 자동으로 촬영이 되는 카메라 기능을 만드는 법을 정리해보려고 합니다.  그럼 바로 시작하겠습니다! 기능 정리우선 카메라 앱을 만들기 전에 어떤 기능이 필요한지 먼저 정리를 해보겠습니다. 제가 만드는 앱에서는 크게 3가지 기능이 꼭 필요했습니다.자동 5초 카운트 다운 후 사진 촬영촬영된 사진 화면에 띄우기최대 4장의 사진 자동 촬영이렇게 3가지 입니다. 카메라 모델 구현먼저, AVFoundation을 사용해서 카메라 기능을 관리할 CameraModel 클래스를 만들어 보겠습니다.import AVFoundationimport SwiftUI@Observableclass CameraM..
[SwiftUI] ProgressView 생성하기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵  이번 포스팅에서는 SwiftUI에서 작업 완료까지의 진행률을 보여줄 수 있는 ProgressView를 만드는 방법에 대해서 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다! ProgressView란?먼저 개념부터 짚고 넘어가겠습니다.  ProgressView는 이름에서 유추할 수 있듯이 앱 내에서 작업이 진행되고 있는 정도를 시각적으로 표시하는 View입니다. 이러한 ProgressView가 필요한 순간은 여러가지가 있겠지만 대표적인 예시로는 파일 다운로드 진행 상태를 앱에 표시하거나, 작업이 진행 중이지만 얼마나 오래 걸릴지 알 수 없을 때 등 다양한 상황에서 사용됩니다. ProgressView 스타일SwiftUI에서 ProgressView 스타일은 선형 스타일, 원..
[Swift] Actor 이해하기 (2/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 저번 포스팅에 이어서 Actor에 대해서 마저 정리해보도록 하겠습니다. 혹시 지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요! 그럼 바로 시작합니다! MainActor란?MainActor는 Swift에서 UI 업데이트와 같은 작업을 메인 스레드에서 실행하도록 보장하는 특수한 Actor입니다. Swift에서는 메인 스레드는 메인 액터(Main Actor)로 표현합니다. 다른 말로는 전역 액터(goabal actor)라고도 표현을 하는데 전역이라는 말에서 알 수 있듯이 메인 스레드에서 실행해야 할 코드를 프로그램 코드 전체에서 접근할 수 있기 때문입니다. 앱을 개발하다 보면 메인 액터에서 실행해야 하는 코드들이 있을 수 있습니다. 특히 UI를 업데이트 해..
[Swift] 두 정수 사이의 합
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 프로그래머스 문제인 두 정수 사이의 합 문제 풀이 방법에 대해서 한번 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다. 문제 설명먼저 문제부터 살펴 보겠습니다.두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요.a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다.a와 b의 대소관계는 정해져있지 않습니다.문제 이해문제는 간단히 말해, 두 정수 a와 b 사이에 포함된 모든 정수의 합을 계산하는 문제입니다. 문제 풀기문..
[Swift] Actor 이해하기 (1/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Swift에서 동시성 프로그래밍을 할 때 사용하는 Actor에 대해서 정리를 해보려고 합니다! 물론 저번 글에서 동시성에 대해서 다룬 적이 있어서 Actor도 같이 살짝 설명하긴 했지만 자세히 다루진 못해서 이번 포스팅에서 좀 더 구체적으로 다뤄보려고 합니다. 해당 글이 궁금하신 분들은 여기를 참고해주세요!! 그럼 바로 시작하겠습니다!서론Swift의 동시성은 여러 작업을 동시에 수행하는 부분에서 성능과 응답성을 향상 시켜줍니다. 하지만 장점이 있는 만큼 단점도 존재합니다.단점으로는 여러 작업이 동일한 데이터를 동시에 접근할 때 문제가 발생할 수 있고 동시에 접근이 발생하게 되면 읽기 작업과 쓰기 작업이 혼재된다는 점입니다. 여러 작업이 동일한 데이터를 동..
[RxSwift] RxSwift 라이브러리 설치해보기
·
Apple/RxSwift
안녕하세요! 피피아노입니다 🎵 저번 포스팅에서는 RxSwift의 개념에 대해서 정리하는 포스팅을 해봤고 이번 포스팅에서는 RxSwift 라이브러리를 설치하는 과정에 대해서 정리를 해보려고 합니다. RxSwift는 외부 라이브러리이기 때문에 Xcode에서 바로 사용할 수 없고 먼저 버전 관리 및 설치를 위한 도구가 필요합니다.저는 CocoaPods으로 진행한다는 점 참고해주세요 🙌 (혹시 CocoaPods이 설치가 안 되어 있거나 CocoaPods을 잘 모르시는 분들은 여기를 참고해주세요!) CocoaPods 설치기본적으로 cocoaPods이 설치가 되어 있다는 가정 하에 글을 쓸 건데 그래도 혹시 모르니 설치 명령어도 같이 작성해보겠습니다.sudo gem install cocoapods 원하는 프로젝..