Objective-C is a superset of C (like C ++), and quite often files from different languages will be used in the same project and share headers, especially the prefix header. #ifdef __OBJC__ , for example #ifdef __cplusplus , allows you to include (or #import for Objective-C) headers only for the corresponding language.
The same header included in .c, .cpp and .m files (with default compiler settings) will only have __OBJ__ for .m files.
source share