[SwiftUI] ViewBuilder 알아보기
·
Apple/SwiftUI
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 ViewBuilder에 대해서 정리를 해보려고 합니다.ViewBuilder란?Apple의 공식 문서 설명에는 "Closure로부터 View를 구성하는 사용자 지정 매개변수 속성"이라고 합니다.A custom parameter attribute that constructs views from closures. https://developer.apple.com/documentation/swiftui/viewbuilder ViewBuilder | Apple Developer DocumentationA custom parameter attribute that constructs views from closures.developer.apple.com 일반적으로 '..
[Swift] SwiftData 상속과 스키마 마이그레이션 알아보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 WWDC 세션 SwiftData: 상속과 스키마 마이그레이션 자세히 알아보기 세션을 보고 내용을 정리해보려고 합니다. 이번 세션의 핵심은 iOS 26에서 새롭게 도입된 클래스 상속 지원과 더 효율적인 데이터 관리 및 마이그레이션 전략입니다. SwiftData의 클래스 상속(iOS 26 신기능)이제 SwiftData 모델에서도 클래스 상속을 활용해 계층 구조를 설계할 수 있습니다. 상속이 필요한 이유에 대해서 먼저 간단하게 살펴보자면, 우리가 여행 앱을 만든다고 가정을 해보겠습니다. 우리에게는 '개인 여행'과 '출장' 데이터가 있습니다. 둘 다 '장소'와 '날짜'라는 공통점을 가지고 있지만, '목적'이나 '비용' 같은 고유한 데이터도 필요합니다. 상속이 생기기 전에는 Pe..
[Swift] Swift 6로 마이그레이션 하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 WWDC24 세션 "Migrate your app to Swift 6"의 내용을 바탕으로 내 앱을 Swift 6로 마이그레이션 하는 방법에 대해서 정리를 해보려고 합니다. 더 자세한 내용은 아래 링크 참고해 주세요!Why Swift 6?내 앱은 이미 잘 돌아가고 있는데 왜 굳이 Swift 6로 올려야 하지?라는 생각이 드실 수 있습니다. Swift 6 전까지는 개발자가 '이 작업은 메인 스레드에서, 저 작업은 백그라운드에서'라고 기억하면서 DispatchQueue를 복잡하게 사용해야 했습니다. 만약에 실수로 한 데이터를 여러 곳에서 동시에 수정하면 앱이 크래시가 발생하거나 데이터가 꼬이는 Data Race라는 게 발생했습니다. 하지만 Swift 6에서는 ..
[Swift] 싱글톤 패턴(Singleton Pattern) 알아보기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 이번 포스팅에서는 개발할 때 자주 쓰이는 싱글톤 패턴에 대해서 정리를 해보려고 합니다. Singleton Pattern이란?싱글톤 패턴이란, 특정 클래스의 인스턴스가 애플리케이션 전체에서 단 하나만 존재하도록 보장하는 디자인패턴입니다. 이 패턴은 전역적으로 접근 가능한 단일 객체가 필요할 때 유용하게 사용됩니다. 앱 전체에서 공유되어야 하는 리소스나 설정이 있을 때, 여러 개의 인스턴스가 생성되면 데이터 불일치나 리소스 낭비가 발생할 수 있는데 그럴 때 싱글톤 패턴을 사용하면 이런 문제를 해결할 수 있습니다.Swift에서 싱글톤 구현Swift에서는 static let을 사용해서 간단하게 싱글톤을 구현할 수 있습니다.class NetworkManager { static..
[Swift] Swift 동시성 사용하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 최근에 개발을 하면서 동시성에 관련한 오류나 경고를 많이 보고 있는데 정작 이런 동시성에 관한 문제가 왜 생기는 건지 제대로 이해를 못 하고 있는 것 같고 AI에 너무 의존하고 있는 것 같아서 제대로 공부를 해보려고 합니다. 해당 내용에 대해서 나도 제대로 공부해보고 싶다 하시는 분들은 아래 링크 참고하면 좋을 것 같습니다!https://developer.apple.com/kr/videos/play/wwdc2025/268/ Swift 동시성 사용하기 - WWDC25 - 비디오 - Apple DeveloperSwift의 주요 동시성 개념을 알아보세요. 동시성은 앱 반응성과 성능을 향상하는 데 도움이 되고 Swift는 비동기성 및 동시성 코드를 올바르게 작성하기 쉽도록 설계되..
[Swift] 3D 스캔 앱을 로컬 서버와 연결하기
·
Apple/Swift
안녕하세요! 피피아노입니다 🎵 iOS 16부터 제공되는 Object Capture API를 사용하면 iPad의 LiDAR 센서로 실제 물체를 3D 모델로 변환할 수 있습니다. 하지만 생성된 모델을 어떻게 활용할 것인가에 대한 고민이 생겼습니다. 처음에는 아이폰과 아이패드 내부에만 저장하고 있었는데, 이렇게 되면 여러 기기에서 모델을 공유하기 어렵고, 서버에서 추가 처리를 할 수 없으며, 데이터 분석이나 백업이 불편했습니다. 물론 학습 목적으로 만든 앱이기 때문에 해당 부분이 없다고 해서 치명적인 문제가 발생하는 것은 아니지만, 실제로 서비스를 한다면 이러한 부분도 빼놓을 수 없을 정도로 중요한 부분이기 때문에 스캔 후 사용자가 원하면 바로 서버로 업로드하는 기능을 추가하기로 하였습니다. 우선 사용한 ..