我发现在系统标题中的很多地方都有一个UIKIT_DEFINE_AS_PROPERTIES宏,如下所示:

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

但是我找不到它的价值。
UIKIT_DEFINE_AS_PROPERTIES的用途是什么,在哪里定义?

是为了迅速吗?

最佳答案

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_EXTRASWIFT_SDK_OVERLAY_UIKIT_EPOCH
控制Objective-C代码如何导入到Swift中,比较ClangImporter.cpp

10-08 05:28
查看更多