Apple 🍎
[WWDC 2023] (7) 스위프트의 새로운 기능 - 3
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 일곱 번째 - 스위프트의 새로운 기능 -3 에 대해 알아보도록 하겠습니다. 1. ~Copyable 2. Actor and Concurrency 1. ~Copyable Struct에서 deinit 을 사용하게끔 해주는 기능입니다. Class 처럼 참조타입으로 작동되게끔 만들어줍니다. ( 값이 범위를 벗어날 때, deinit 호출 ) 예를 들어 close를 호출한 뒤 파일에 값을 쓰려고 할 수 있다. 주의가 필요하다. 수동으로 닫기 위해서는 타입의 범위가 벗어나기 전에 close 메서드를 호출해야 한다. 그러지않으면 Darwin의 리소스 누수가 생긴다. 리소스 누수를 방지하기 위해 class로 선언 후 deinit을 작성한..
[WWDC 2023] (6) 스위프트의 새로운 기능 - 2
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 여섯 번째 - 스위프트의 새로운 기능 - 2 에 대해 알아보도록 하겠습니다. - Swift Macro 이전 포스팅 Swift Macro에 대해 보고 오시면 이해하는데 도움이 될 수 있습니다👍🏻 [WWDC 2023] (4) Swift Macro 안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 네 번째 - Swift Macro에 대해 알아보도록 하겠습니다. 1. 매크로의 예시 Swift 5.9 에 도입하였다. 반복적인 코드 beanistory.tistory.com 1. Swift Macro 기능 라이브러리 작성자에게 새로운 도구를 제공하여 매크로 시스템을 통한 표현적 API 설계를 지원..
[WWDC 2023] (5) 스위프트의 새로운 기능 - 1
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 다섯 번째 - 스위프트의 새로운 기능에 대해 알아보도록 하겠습니다. 1. 조건문의 표현식 변경 2. Result Builder ( Type Check 속도 향상 ) 3. 제네릭 새로 추가된 기능이 다양하여 총 3개의 포스팅으로 나누어 작성을 하였습니다. 1. Swift 오픈소스 Swift 커뮤니티, Swift.org에 모인 여러 관계자 및 사용자가 함께 언어를 발전시키고 있습니다. Swift-evolution 를 통해 새로운 기능이나 중요한 동작 등의 변경 사항은 애플에서 공개적으로 제안되고 검토됩니다. 자세한 사항은 Swift-evolution 대시보드에서 확인할 수 있습니다. 2. If-Else 및 Switch 문을..
[WWDC 2023] (4) Swift Macro
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 네 번째 - Swift Macro에 대해 알아보도록 하겠습니다. 1. 매크로의 예시 Swift 5.9 에 도입하였다. 반복적인 코드를 매크로를 통해 쉽게 여러 기능을 수행할 수 있다. 컴파일 시간에 반복 코드를 생성할 수 있고 코드를 읽기 쉽게 만들 수 있다. let calculations = [ ( 1 + 1, "1 + 1"), ( 2 + 3, "2 + 3"), ( 7 - 3, "7 - 3"), ... ( 3 * 8, "3 * 5") ] 첫 번째 값은 Int, 두 번째 값은 String 인 Tuple 형태의 배열이 있습니다. 중복으로 작성된 코드이고, 실수하기 쉬운 형태입니다. 결과가 실제로 계산과 일치한다고 누구도 ..
[WWDC 2023] (3) SwiftData
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 세 번째 - SwiftData에 대해 알아보도록 하겠습니다. 1. 개요 iOS17+ 에서 제공한다. Swift macro가 제공하는 표현식을 사용한다. @Model 키워드를 사용한다. SwiftData는 즉시 사용할 수 있도록 기본 Value Type 프로퍼티를 포함한다. 기본 타입 ( String, Int ... ) Collection 타입 ( Array, Set, Dictionary ) 기타 ( Struct, Codable ) SwiftData 모델은 타입을 관계로 참조한다. 모델 유형간에 link를 만들 수 있다. 2. @Model 키워드 // Adding @Model to Trip import SwiftData ..
[WWDC 2023] (2) Widget 확장
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 두 번째 - Widget 확장에 대해 알아보도록 하겠습니다. 1. 개요 1-1. 기존의 Widget iOS 14 > 홈 화면에서의 Widget iOS 16 > 잠금 화면에서의 Widget ( WidgetKit API 사용 ) 1-2. 새로운 Widget ( 확장 ) Mac > 데스크탑 iPad > 잠금 화면 iPhone > StandBy 모드 Apple Watch > 새로운 Smart Stack 2. 새로운 기능 2-1. Content margin Content margin 위젯의 본문에 자동으로 적용되는 Padding 이며, 컨텐츠가 위젯 컨테이너에 가까워지는 것을 방지합니다. 기존에 사용하던 ignoreSafeAre..
[WWDC 2023] (1) SharePlay
안녕하세요🐶 빈지식 채우기의 비니🙋🏻♂️입니다. 오늘의 포스팅은 WWDC 2023의 첫 번째 - SharePlay에 대해 알아보도록 하겠습니다. 1. 개요 Apple Fitness+, Apple Music, Apple TV+, NBA, Paramount+ 등 다양한 앱과 함께 사용이 가능하다. 하나의 그룹을 만들고 실시간으로 무엇을 하고 어떤 활동을 하고 있는지 공유를 하는 것이다. iOS, iPadOS, tvOS 에서 모두 사용이 가능하다. 공유할 사용자 이름이나 이메일이 없이 에어드롭만 있으면 손쉽게 사용 가능하다. 2. 사용법 import GroupActivies 정의 import GroupActivities GoupActivity에 따라 코드 정의 struct OrderTogether: Grou..