OC中的#import可以认为是C中#include的改进版本,用来包含需要引用的头文件。然而,它是否能够得到改善仍然是一个争论的问题。#import的作用是确保文件只包含了一次,这样就不会存在递归包含的问题。
C中的#include可能会因为多次引用而造成重复定义的问题,因此还需要通过#ifndef/#define/#endif来避免。
事实上,OC中也在使用#include,比如ijk开源库中的一个文件:
#import "IJKAVMoviePlayerController.h" #import "IJKAVPlayerLayerView.h" #import "IJKAudioKit.h" #import "IJKMediaModule.h" #import "IJKMediaUtils.h" #import "IJKKVOController.h" #import "IJKNotificationManager.h" #include "ijksdl/ios/ijksdl_ios.h"