Swift макросы, введённые в Swift 5.9, — это функция генерации кода на этапе компиляции, которая уменьшает количество шаблонного кода, сохраняя полную type safety.
В Swift существует две категории макросов:
#, они генерируют выражения или объявления независимо@, они дополняют существующие объявления, добавляя синтезированный код#Preview {
ContentView()
}
Макрос #Preview генерирует весь необходимый шаблонный код для отрисовки SwiftUI preview без ручной настройки.
@Observable
class UserProfile {
var name: String = ""
var age: Int = 0
}
Макрос @Observable автоматически синтезирует код отслеживания изменений для всех stored properties.
@Model
class Task {
var title: String
var isCompleted: Bool
}
Макрос @Model из SwiftData генерирует код, связанный с персистентностью, избавляя от необходимости писать многословный шаблонный код для Core Data.
Swift macros были введены в Swift 5.9 и выполняют генерацию кода на этапе компиляции, при этом сохраняя полную type safety.
Новый — ещё не проверен сообществом
Вы