Objective-C:在.h或.m中导入标头?

Lee*_*ile 26 objective-c

我是objective-c的新手,想知道导入我在课堂上使用的一些外部标题的最佳实践.

我应该将#import"classB.h"存储在我自己的类.h文件中还是存储在.m文件中?

有什么不同?

谢谢!

小智 35

@class classB;在头文件和#import "classB.h.m中放置一个前向类声明()是正确的做法

一个前向类声明,比如@class classB;让编译器知道它应该在以后期望该类,并且它现在不应该抱怨它.


Mar*_*eau 12

为避免循环引用,只有#emport在另一个类的头文件中导入头文件(如果它继承自该类).否则,@class ClassName如果在头文件中需要它,则用于声明类类型,并在实现文件中#import它.

  • 值得一提的是,您无法使用#import指令获得循环引用. (7认同)