美文网首页
#import和#include和@class的区别是什么?

#import和#include和@class的区别是什么?

作者: N仃目 | 来源:发表于2016-07-20 22:41 被阅读37次

(1)#import对比#include来说能保证文件只被引用一次。

例如:A文件#include了C文件,B文件也#include了C文件,这时候D文件同时#include A文件和B文件就会出错,因为这样就重复引用了C文件。如果使用#import就不会出错,因为#import会判断是否已经引用过,引用过就不会再引用。

(2)@class解决了相互引用的问题,当A需要#import B,同时B又需要#import A的时候,如果两边都用#import的话,会编译错误。这时候一边可以使用@class,@class就是告诉编译器有这么一个类,至于类的定义是啥不知道。

相关文章

网友评论

      本文标题:#import和#include和@class的区别是什么?

      本文链接:https://www.haomeiwen.com/subject/hzwuhttx.html