Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

UIKIT_EXTERN_CLASS and UIKIT_EXTERN, for what these 2 constants are?

Tags:

objective-c

When i go to definition of classes in documentation, i always see these 2 things (UIKIT_EXTERN_CLASS and UIKIT_EXTERN) before the @interface, what these constants stand for and why Apple put it before their classes?

And one more thing, there is file UIKitDefines.h and it has all these definitions/constants.

#ifdef __cplusplus
#define UIKIT_EXTERN        extern "C" __attribute__((visibility ("default")))
#else
#define UIKIT_EXTERN            extern __attribute__((visibility ("default")))
#endif

#define UIKIT_STATIC_INLINE static inline
#define UIKIT_EXTERN_CLASS  __attribute__((visibility("default")))
like image 848
itsaboutcode Avatar asked Nov 27 '25 21:11

itsaboutcode


1 Answers

Take a look at this page from Apple's developer documentation. In essence, it appears those macros allow you to control the visibility of certain symbols to the rest of your application.

like image 164
Matt Ball Avatar answered Nov 30 '25 15:11

Matt Ball



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!