Как передать флаг глобально, чтобы условно показать/скрыть @available(*, deprecated) в макросе Swift?IOS

Программируем под IOS
Ответить
Anonymous
 Как передать флаг глобально, чтобы условно показать/скрыть @available(*, deprecated) в макросе Swift?

Сообщение Anonymous »

Я пытаюсь создать макрос Swift, который условно добавляет атрибут @available(*, deprecated) ко всем свойствам структуры при применении макроса. Я хочу контролировать это поведение глобально, используя собственный флаг времени компиляции, чтобы я мог переключаться между отображением и скрытием аннотации @available в моем проекте во время сборки.
Я хотел бы передать флаг времени компиляции глобально внутри проекта и он условно повлияет на поведение макроса Swift.
Пример:
Я хочу использовать макрос следующим образом:
@MyMacro()
struct X {
var a: String
var b: Int
}

И в зависимости от того, установлен ли глобальный флаг времени компиляции, результат должен выглядеть так:
struct X {
@available(*, deprecated) var a: String
@available(*, deprecated) var b: Int
}

С включенным флагом
struct X {
@available(*, deprecated) var a: String
@available(*, deprecated) var b: Int
}

С отключенным флагом:
struct X {
var a: String
var b: Int
}


Подробнее здесь: https://stackoverflow.com/questions/793 ... deprecated
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»