Wie übergebe ich ein Flag global, um @available(*, veraltet) in einem Swift-Makro bedingt anzuzeigen/auszublenden?IOS

Programmierung für iOS
Guest
 Wie übergebe ich ein Flag global, um @available(*, veraltet) in einem Swift-Makro bedingt anzuzeigen/auszublenden?

Post by Guest »

Ich versuche, ein Swift-Makro zu erstellen, das das Attribut @available(*, veraltet) allen Eigenschaften einer Struktur bedingt hinzufügt, wenn das Makro angewendet wird. Ich möchte dieses Verhalten global mithilfe eines benutzerdefinierten Flags zur Kompilierungszeit steuern, sodass ich zur Build-Zeit in meinem Projekt zwischen dem Anzeigen und Ausblenden der @available-Annotation umschalten kann.
Das würde ich gerne tun Übergeben Sie ein Flag zur Kompilierungszeit global im Projekt und lassen Sie es das Verhalten des Swift-Makros bedingt beeinflussen.
Beispiel:
Ich möchte das Makro wie folgt verwenden:

Code: Select all

@MyMacro()
struct X {
var a: String
var b: Int
}
Und je nachdem, ob ein globales Flag zur Kompilierungszeit gesetzt ist, sollte das Ergebnis entweder so aussehen:

Code: Select all

struct X {
@available(*, deprecated) var a: String
@available(*, deprecated) var b: Int
}
Mit aktiviertem Flag

Code: Select all

struct X {
@available(*, deprecated) var a: String
@available(*, deprecated) var b: Int
}
Mit deaktivierter Flagge:

Code: Select all

struct X {
var a: String
var b: Int
}

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post