где определяется UIKIT_DEFINE_AS_PROPERTIES? - PullRequest
0 голосов
/ 19 ноября 2018

Я обнаружил, что во многих местах в заголовках системы есть макрос UIKIT_DEFINE_AS_PROPERTIES, например:

#if UIKIT_DEFINE_AS_PROPERTIES
@property(class, nonatomic, readonly) UIDevice *currentDevice;
#else
+ (UIDevice *)currentDevice;
#endif

Но я не могу найти его значение.

какой смысл для UIKIT_DEFINE_AS_PROPERTIES и где он определен?

он для стремительного?

1 Ответ

0 голосов
/ 20 ноября 2018

UIKIT_DEFINE_AS_PROPERTIES определяется в <UIKit/UIKitDefines.h> как

#if (!defined(SWIFT_CLASS_EXTRA) || (defined(SWIFT_SDK_OVERLAY_UIKIT_EPOCH) && SWIFT_SDK_OVERLAY_UIKIT_EPOCH >= 1))
    #define UIKIT_DEFINE_AS_PROPERTIES 1
#else
    #define UIKIT_DEFINE_AS_PROPERTIES 0
#endif

Макросы SWIFT_CLASS_EXTRA и SWIFT_SDK_OVERLAY_UIKIT_EPOCH определяют, как код Objective C импортируется в Swift, сравнивайте ClangImporter.cpp .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...