[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기
반응형

분류 전체보기 495

[WWDC24] What's new in SwiftData

https://developer.apple.com/videos/play/wwdc2024/10137/ What’s new in SwiftData - WWDC24 - Videos - Apple DeveloperSwiftData makes it easy to add persistence to your app with its expressive, declarative API. Learn about refinements to SwiftData,...developer.apple.com 간단하게 핵심내용만 메모했습니다. 전체 내용은 감사하시는 것을 추천드려요! 초반은 기존에 존재하던 기능들(@Model, @Query 등)에 대한 설명을 해줍니다. 이 부분은 스킵할게요.#Unique고유하게 유지할 조합에 대해 정의합니..

[WWDC24] Swift 6로 앱을 마이그레이션하기

https://developer.apple.com/kr/videos/play/wwdc2024/10169/ Swift 6으로 앱을 마이그레이션하기 - WWDC24 - 비디오 - Apple Developer기존 샘플 앱의 업데이트를 따라 Swift 6 마이그레이션 과정을 직접 경험해 보세요. 증분 마이그레이션 방법을 모듈별로 설명하고, 컴파일러로 데이터 레이스 위험이 있는 코드를 식별하는 방법developer.apple.com 주된 내용들만 메모해서 정리했습니다. 전체 내용이 궁금하신 분들은 영상을 감상하시는 것을 추천드려요!Intro다른 세션에서 설명한 앱의 아키텍처입니다. main queue, background queue, arbitary queue(헬스킷같은 곳으로부터 나오는 특정 completion..

🍎 Apple/Swift 2024.07.04

[SwiftUI] some View의 사용 이유

Swift의 some View는 SwiftUI에서 자주 사용되는 새로운 기능입니다. 이는 Swift의 opaque return types 개념의 일환으로 도입되었습니다. some 키워드는 컴파일러가 반환 타입을 정확하게 알지만, 이를 숨기고 특정 프로토콜을 준수하는 타입임을 나타내기 위해 사용됩니다.some View의 개념some View는 특정 타입이 아닌 하나의 타입임을 보장합니다. 이는 사용자가 특정 프로토콜을 준수하는 반환 타입을 정의할 수 있도록 하면서도, 반환 타입의 구체적인 세부 사항을 숨깁니다.예제import SwiftUIstruct ContentView: View { var body: some View { Text("Hello, World!") }}이 코드에서 bo..

🍎 Apple/SwiftUI 2024.06.23

[CloudKit] 기본 개념 및 사용법

CloudKit앱의 데이터를 iCloud에 저장하고, 모든 기기와 웹에서 데이터를 최신 상태로 유지할 수 있도록 도와주는 도구비공개 데이터는 사용자의 iCloud 계정에 저장되기 때문에 사용자층이 늘어나도 무제한으로 확장이 가능하다.공개 데이터를 저장할 수 있는 공간을 최대 1PB까지 사용할 수 있다.웹 기반 제어 패널인 CloudKit Console를 제공하기 때문에 편리한 데이터 관리가 가능하다.Container데이터를 정리하는 논리적 공간. 앱의 저장공간이라고 생각하면 된다.일반적으로 하나의 앱에서 하나의 컨테이너를 사용한다.하나의 앱에서 여러 Container를 사용할 수도 있고, 여러 앱에서 하나의 Container를 사용할 수도 있다.사용자는 Container 내에서 앱의 스키마를 관리한다.D..

🍎 Apple/Swift 2024.06.07

[WWDC22] Link fast: Improve build and launch times

안녕하세요 inu입니다. 오랜만에 포스팅을 작성하네요 :) 오랜 숙원 사업이었던 'Link fast: Improve build and launch times' 감상을 드디어 마쳤습니다. 개인적으로 조사한 정보들도 포함해 글로 정리해봤습니다. 중간중간 CS 관련된 내용도 나와서 이해하기가 어려울 수 있는데, 정적 라이브러리와 동적 라이브러리의 개념과 동작방식에 대해서 정도만 이해해도 충분히 얻어가는 세션이었다고 생각합니다. 저처럼 컴파일 및 모듈 관련 지식이 부족했던 분들에게 도움이 되길 바랍니다. 사전정보 오브젝트 파일 : 소스코드 파일이 컴파일러에 의해 컴파일된 이후 생성되는 파일로, 이 파일은 실행가능한 파일(excutable file)이나 라이브러리(library) 파일을 만들기 전 중간 단계의 바..

🍎 Apple/Swift 2024.04.08

[Concurrency] Task Group의 동시성을 제한하는 방법

참고자료 : WWDC23 Beyond the basics of structured concurrency Task Group의 동시성을 제한하는 방법 chopIngredients는 여러 재료(ingredients)를 받아 그들을 하나씩 써는(chop) 메서드이다. 하지만 정말 하나씩 재료를 썬다면 이는 비효율적일 것이다. 동시에 처리하고 싶다. Task Group을 사용하여 Structed Concurrency를 구성하고 하위 Task를 여러개 추가해 처리한다. 그리고 하위 Task가 모두 완료되었을 때 요청한 chopIngredients Task가 종료된다. 다만 여기서 주의할 점은 파라미터로 제공하는 재료들(ingredients)이 너무 많을 경우 각각에 대해 실행 Context를 생성하고 우리는 모든..

[Concurrency] Explore structured concurrency in Swift

본 게시글은 WWDC21의 Explore structured concurrency in Swift 세션의 내용을 담고 있습니다. https://developer.apple.com/videos/play/wwdc2021/10134/ Explore structured concurrency in Swift - WWDC21 - Videos - Apple Developer When you have code that needs to run at the same time as other code, it's important to choose the right tool for the job. We'll take you... developer.apple.com Structured Programming 컴퓨팅 초기에는 제어..

[SwiftUI] 관찰 중인 데이터를 변경하는 작업을 MainActor 환경에서 해야하는 이유

이미지 소스 및 정보 출처 : WWDC21 Discover concurrency in SwiftUI Run loop SwiftUI에서 View는 위와 같은 방식으로 업데이트된다. 이 때 이를 실현시켜주는 것이 Run Loop이다. Rup Loop는 MainActor에서만 동작한다. MainActor : Main Thread에서의 동작을 보장하는 Actor Example 이러면 Main Thread를 기반으로 작업을 처리하는 MainActor가 fetchPhotos 메서드로 인해 아무런 일도 수행하지 못한다. 그럼 update 함수를 async로 감싸면 괜찮지 않을까? 하지만 이렇게해도 문제가 발생한다. 이전 코드에서는 비록 fetchPhotos 메서드가 Main Thread를 점유하고 있기는 했지만 모든..

🍎 Apple/SwiftUI 2023.10.28

[SwiftUI] Observable macro를 통해 모델 데이터를 만들고 관리하는 방법

본 게시글은 애플 개발자 문서의 Managing model data in your app 아티클을 의역하여 작성되었습니다. Managing model data in your app SwiftUI 앱은 사용자가 인터페이스를 통해 수정할 수 있는 Data를 화면에 표시해준다. 이 데이터를 다루기 위해, 앱은 Data Model을 생성하고 사용한다. 이들은 데이터를 표시하기 위한 일종의 커스텀 타입이다. Data Model은 데이터와 상호작용하는 View와 데이터 자체에 대한 분리를 가능하게 한다. 이 분리는 모듈화에 기여하며, 테스트 용이성도 증대하고, 앱의 작동방식을 더 쉽게 추론하도록 도와준다. (helps make it easier to reason about how the app works.) 데이터..

🍎 Apple/SwiftUI 2023.10.28
반응형