[Swift] Combine에서 map과 flatMap 살펴보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Combine 프레임워크에서 사용되는 중요한 연산자인 map과 flatMap에 대해서 정리해보려고 합니다. Combine에 대해서 궁금하신 분들은 여기를 참고해 주시면 됩니다! 그럼 바로 시작하겠습니다! map 연산자우선 map 연산자부터 알아보겠습니다. map 연산자는 Publisher에서 방출된 각 값을 다른 형태로 반환하는 연산자입니다. 원본 데이터 스트림의 구조는 유지하면서 내부 값만 변경한다는 부분이 특징입니다.https://developer.apple.com/documentation/swift/sequence/map(_:) map(_:) | Apple Developer DocumentationReturns an array containing t..
[UIKit] UIViewController란 무엇일까?
·
Apple/UIKit
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 UIKit에서 사용되는 UIViewController에 대해서 정리를 해보려고 합니다. 그럼 바로 시작하겠습니다! UIViewController란?UIViewController는 UIKit의 핵심 클래스 중 하나로, 뷰 계층 구조를 관리하는 객체입니다. UIViewController는 사용자 상호작용을 처리하고 데이터를 관리하게 되는데 MVC 패턴에서 C에 해당하는 Controller를 담당하고 있습니다. UIViewController는 iOS 앱의 화면 단위를 구성하며, 각 화면의 로직과 시각적 요소를 모두 관리합니다.UIViewController의 주요 역할UIViewController의 주요 역할은 크게 4가지로 정리할 수 있는데첫 번째로 뷰관리, ..
[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] Subscript 이해하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 Swift의 서브스크립트(Subscript)에 대해서 정리해보려고 합니다! 어렵지 않은 개념이니 간단하게 정리해보겠습니다. 그럼 바로 시작하겠습니다! 서브스크립트(Subscript)란?먼저 애플 개발자 문서에 나와 있는 내용부터 살펴보고 가겠습니다.Accesses the element at the specified position.지정된 위치의 요소에 액세스합니다.(간단한 개념이라 그런지 설명도 너무 간단한 느낌...) 정리를 해보자면 서브스크립트는 컬렉션, 리스트, 시퀀스 등의 멤버 요소에 간단하게 접근할 수 있도록 해주는 문법입니다. 서브스크립트는 클래스, 구조체, 열거형에서 정의해서 사용할 수 있습니다. 배열의 array[index]나 딕셔너리의 d..
[Swift] Actor 이해하기 (2/2)
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 저번 포스팅에 이어서 Actor에 대해서 마저 정리해보도록 하겠습니다. 혹시 지난번 포스팅이 궁금하신 분들은 여기를 참고해주세요! 그럼 바로 시작합니다! MainActor란?MainActor는 Swift에서 UI 업데이트와 같은 작업을 메인 스레드에서 실행하도록 보장하는 특수한 Actor입니다. Swift에서는 메인 스레드는 메인 액터(Main Actor)로 표현합니다. 다른 말로는 전역 액터(goabal actor)라고도 표현을 하는데 전역이라는 말에서 알 수 있듯이 메인 스레드에서 실행해야 할 코드를 프로그램 코드 전체에서 접근할 수 있기 때문입니다. 앱을 개발하다 보면 메인 액터에서 실행해야 하는 코드들이 있을 수 있습니다. 특히 UI를 업데이트 해..