Objective-C @class与#import的区别

来源:互联网 发布:注册表清理软件 编辑:程序博客网 时间:2024/04/30 22:03

#import A  会包含被引用A类的所有信息,包括被引用类的变量和方法

@class B 只是告诉编译器在这个文件中,B类只是声明,具体这个类有什么信息,这里不需要知道。等实现文件中真正需要的时候,才会真正查看B类中的信息

   在.h里

     @class B;

  在.m里

    #import "B.h"

@class的主要作用是 :

1.    解决相互导入的问题。

2.   在编译效率方面考虑,如果你有100个头文件都#import了同一个头文件,或者这些文件是依次被引用的,如A–>B, B–>C, C–>D这样的引用关系。当最开始的那个头文件有变化的话,后面所有引用它的类都需要重新编译,如果你的类有很多的话,这将耗费大量的时间。而是用@class则不会。

0 0
原创粉丝点击