-
Swift Macro - IntroIOS/WWDC24 2025. 5. 10. 16:12
목적
- Swift 코드에서 발생하는 보일러 코드를 제거하기 위해 5.9버전 부터 도입된 표현식
사용범위
- Package처럼 별도의 Macro들을 구현해 다른 패키지에 의존성을 주입하는 방식으로 모듈화 가능
- 기본 내장되어 있는 Macro들도 존재 예를들어 swiftUI @Observable
주위사항
- Swift Macro는 단위 테스트를 작성할 것을 권장
- Macro는 프로젝트에 코드를 더하기만 할 뿐이니 남용 금지
Macro의 종류와 용도
- 종류
- @freestanding (독립형 메크로)
- 사용엔 (#메크로 이름) 형식으로 호출
- 예시: #stringfy, #diagnose ...
- @attached(속성형 메크로)
- 사용엔 (@메크로 이름) 형식으로 호출
- 예시 : @Observable, @Codable ...
- @freestanding (독립형 메크로)
- 용도
메크로 메커니즘
- SwiftSyntax 기반으로 동작
- 컴파일 단계에서 메크로 호출시 소스코드를 맵핑되어 있는 컴파일 플러그인에 전달(메크로의 구현체) -> 플러그인은 Swiftsyntax 구문 트리로 파싱 -> 파싱된 것을 다시 직렬화해 컴파일에게 전달
References
Swift 매크로 상세히 알아보기 - WWDC23 - 비디오 - Apple Developer
Swift 매크로가 코드베이스에서 어떻게 보일러플레이트를 줄이고 복잡한 기능을 더 쉽게 도입하게 하는지 알아보세요. 매크로가 어떻게 코드를 분석하는지, 풍부한 컴파일러 오류 메시지를 발신
developer.apple.com
Swift 매크로 작성하기 - WWDC23 - 비디오 - Apple Developer
Swift 매크로를 사용하여 코드베이스를 더욱 표현력 있고 읽기 쉽게 만드는 방법을 알아보세요. 코드를 함께 작성하면서 매크로가 반복적인 코드 작성을 어떻게 피하게 해 주는지 확인하고, 앱에
developer.apple.com
'IOS > WWDC24' 카테고리의 다른 글
Swift Macro - attach (2) 2025.06.08 Swift Macro - implement (0) 2025.06.01 [WWDC24] Swift의 성능 살펴보기 (3/3) (0) 2025.02.09 [WWDC24] Swift의 성능 살펴보기 (2 / 3) (0) 2025.02.08 [WWDC24] Swift의 성능 살펴보기 (1 / 3) (0) 2024.12.07