#import、@class区别

2020-12-07  本文已影响0人  Joshua520

一、#include
1.include一般是c/c++使用

include< file >编译程序会先到标准函数库中找文件

include”file” 编译程序会先从当前目录中找文件

  1. include:为了防止重复引用可采用:

ifndef ViewController_h

define ViewController_h

endif

二、#import

1.#import比起#include的好处就是不会引起交叉编译

  1. import方式会包含被引用类的所有信息,包括被引用类的变量和方法,有效率上的问题。

  2. import最大的问题在于,需要避免出现头文件递归引入的现象。(如:A引入B,B引入A,那么A、B的头文件会互相不停的拷贝)

三、@class

  1. 如果你只是定义成员变量、属性用@class,如果需要创建类就需要用#import。

  2. import方式会包含被引用类的所有信息,包括被引用类的变量和方法,会有效率方面的问题。

  3. 如果是继承某个类的话,需要用#import

总结:在非继承时,.h用@class引入,.m用#import引用类

上一篇 下一篇

猜你喜欢

热点阅读