我相信#ifdef __OBJC__指令确保我只为Objective-C导入以下类库.在ifdef语句之后列出类库的目的是什么?这个代码示例有没有打败目的?
#ifdef __OBJC__ #import <foundation/foundation.h> #import <uikit/uikit.h> #import <coredata/coredata.h> #endif </coredata/coredata.h></uikit/uikit.h></foundation/foundation.h>Objective-C是C的超集(就像C一样),并且通常来自不同语言的文件将在同一个项目中使用并共享标题,尤其是前缀标题.与#ifdef __cplusplus一样,#ifdef __OBJC__允许您仅为适当的语言包含(或#import for Objective-C)标头.
.c,.cpp和.m文件中包含的相同标头(使用默认编译器设置)只能为.m文件定义__OBJ__.
精彩评论