Что такое атрибут @exported в Swift

Я видел использование @exported в этом проекте с открытым исходным кодом, но не видел его в документации Apple. Что это за атрибут и что он делает?

Ответы

Ответ 1

Этот атрибут официально не существует. Неофициально, однако, это способ открытия символов подрамники в вашей собственной области видимости и экспорта их, как если бы они были вашими. Например, среда тестирования может пожелать объявить @exported XCTest где-то, так что все, что требуется для использования фреймворка, - это просто import TestFramework.

Будь предупрежден, хотя атрибут совместим с большинством быстрых версий и должен компилироваться в порядке, он сломает завершение кода творческими способами для каждой отдельной сборки Xcode - возможно, это большая причина, по которой это еще не официальная функция.

Ответ 2

По данным этого сайта:

экспорт: применить этот атрибут к объявлению импорта, чтобы экспортировать импортированный модуль, субмодуль или объявление из текущего модуля. Если другой модуль импортирует текущий модуль, этот другой модуль может получить доступ к элементам, экспортированным текущим модулем.