iOS 开发 #import #include @class 的区别
来源:互联网 发布:知行学院教务处登录 编辑:程序博客网 时间:2024/05/17 04:32
1,#include 是c/c++ 里面导入头文件的预处理指令
#include “A.h” 是导入用户自定义的文件,编译器会先在用户目录下查找,再到安装目录下查找,再到系统文件中查找 。
#include <B.h> 是用于对系统自带文件的引用。编译器会在系统目录下查找该文件。
使用#include 要注意处理重复引用的问题。
例如:ClassA 与 ClassB同时引用了ClassC,不做重复引用处理的时候在ClassD中同时引用ClassA,ClassB编译会提示对ClassC重复引用的错误.
我们可以:#ifndef _CLASSC_H
#define _CLASSC_H
#include "ClassC"
#endif
这样处理在编译时就不会有重复引用的错误出现(在objc中#import解决了这个问题,这是它们的区别)
2,#import 是 OC 里面导入头文件的预处理指令
#import“A.h” 是对用户自定义文件的引用。
#import<B.h> 是用于系统文件的引用。
3,@class
主要用于对一个类 的声明,告诉编译器 @class 后面 是一个类名,仅仅 是一个类名 ,告诉编译器这个类 存在, 不要发出警告或者错误。但是里面的实现并不知道, 如果想要知道里面的实现, 还需要在 .m 文件里 #import 该类。这个时候 才包含了这个引用类 的所有信息。
区别:
1,#import #include
他俩的作用 差不多 。 只不是 #import 解决了重复引用的问题。 但是使用 #include 就必须要注意处理 重读引用的问题。
2, #import @class
#import 一个类, 会包含这个类 的 所有信息。 而 @class 只是声明 了一个类, 告诉这个类 是存在的, 但是里面的实现不清楚。
用 @class 的 好处 在于, 减少类与类之间的依赖关系。 如果 A.h 和B.h 都#import了c.h 那么 a 类 如果 修改了 一些东西, A 类 B 类 c 类 都要重新编译, 编译会很慢。 而使用 @class 就不会。 提高编译效率。
所以一般来说,在interface中引用一个类,就用@class,它会把这个类作为一个类型来使用,而在实现这个interface的文件中,如果需要引用这个类的实体变量或者方法之类的,还是需要import这个在@class中声明的类。
- iOS 开发 #import #include @class 的区别
- iOS 开发之#Import #include @class区别
- IOS开发之----#import、#include和@class,#import<>, #import""的区别
- #import、#include、@class、#import<> 、#import""的区别
- iOS开发面试题:#import 跟#include @class区别
- #include,#import,@class的区别 .....
- #include,#import,@class的区别
- #import #include @class的区别
- #import ,#include,@class 的区别
- @class,#import,#include的区别
- #include,#import,@class的区别
- #import #include @class的区别
- #include #import @class的区别
- IOS #import与#include和@class的区别
- iOS笔记--oc语法3 (#include和#import的区别、#import和@class的区别)
- iOS-@class #import #include
- #include #import @class区别
- include、import、@class区别
- CoreGraphics中的 CGAffineTransform的讲解
- JSON.parse()和JSON.stringify() (转)
- NSHomeDirectory();
- phoneGap创建android应用
- frameset如何实现整个页面的跳转
- iOS 开发 #import #include @class 的区别
- Win7 "未识别网络" 的20种常见解决方案
- 我用的OJ总结~
- 如何借助Android源码来便利自己的编程
- hdu3416(最短路+最大流)
- iis7 未能写入输出文件,拒绝访问
- SQL SERVER 正则替换实例分享--【叶子】
- 关于高性能的那点事
- vim清空文件所有内容