Einführung in Swift Macros
In Swift 5.9 lässt sich über Makros Sourcecode generieren, der dem Gesamtprojekt zu kompakterem und besser lesbarem Code verhilft. Erfahren Sie, wie Swift Macros funktionieren und wie Sie eigene Swift Macros erstellen, testen und debuggen.
Während der Kompilierung von Swift-Code erkennt der Compiler an den Präfixen #
und @
, dass er an dieser Stelle ein Makro aufrufen soll, im Falle von beispielsweise #Preview
das Makro Preview
. Über die Funktion „Navigate -> Jump To Definition“ (oder alternativ im Kontextmenü) im Xcode Editor gelangt man zur entsprechenden Makro-Deklaration. Entscheidend ist hier das Keyword macro
, an dem der Compiler erkennt, dass es sich um ein Makro handelt. Hilfreich und nützlich ist dabei die Möglichkeit, Makros „auszuklappen“ (expand). So kann man den vom Makro erzeugten Code einsehen. Das Beispiel, das Sie über einen Link im Webcode herunterladen können, nutzt einen SwiftUI View. Standardmäßig generiert Xcode für neue Views entsprechende Previews anhand des Makros #Preview
:
import SwiftUI struct MyView: View { var body: some View { Text("Hello, World!") } } #Preview { MyView() }
Ein Rechtsklick auf #Preview
ruft die Funktion „Expand Macro“ auf, um zu sehen, was sich hinter dem Makro #Preview verbirgt. Dies führt dazu, dass Xcode den vom Makro erzeugten Code inline darstellt (es ist sogar möglich, im ausgeklappten Makro Breakpoints zu setzen und zu debuggen):