#include、#import与class之间的区…
来源:互联网 发布:网络用语af是什么意思 编辑:程序博客网 时间:2024/05/29 05:54
#include #include <> :用于对系统文件的引用,编译器会在系统文件目录下去查找该文件。 #include"xx.h":用于对用户自定义的文件的引用,编译器首先会去用户目录下查找,然后去安装目录,最后去系统目录查找。 注:使用include要注意重复引用的问题: class A,class B都引用了class C,class D若引用classA与class B,就会报重复引用的错误。 功能与include基本相同,不过它避免了重复引用的问题。所以在OC中我们基本用的都是import。 @class就是告诉编译器有这个类存在,但是类是如何实现的不用告诉编译器.若.m文件用到了这个类,还是要在.m文件汇总import这个类的。 既然这样,为什么不直接在头文件中import呢,举个例子: classA引用了class B,class B引用了class C.... , classA,B,C...的头文件又import了很多文件,那么import了A的话,编译器就需要编译大量的文件,编译时间就会增加。 难道头文件中都是用@class吗?当然不是,有时也是需要#import的,那么什么时候该用什么呢?
#import
@class
(1)一般如果有继承关系的用#import,如B是A的子类那么在B中声明A时用#import;
(2)另外就是如果有循环依赖关系,如:A->B,B->A这样相互依赖时,如果在两个文件的头文件中用#import分别声明对方,那么就会出现头文件循环利用的错误,这时在头文件中用@class声明就不会出错;
(3)还有就是自定义代理的时候,如果在头文件中想声明代理的话如@interfaceSecondViewController:UIViewController时应用#import不然的话会出错误,注意XXXXDelegate是自定义的。
0 0
- #include、#import与class之间的区…
- #include,#import与@class
- #import 与 #include的区别,以及 @class
- #import 与 #include的区别,以及 @class
- #include、#import与@class的区别
- #include与#import的区别以及@class
- #import #include与@class的区别
- #import #include 与@class 三者之间的区别与联系
- #include与#import的区别,#import 与@class 的区别
- #import、#include、@class、#import<> 、#import""的区别
- #import与#include, #import与@class
- #import与#include以及@class的区别与联系
- #include,#import,@class的区别 .....
- #include,#import,@class的区别
- #import #include @class的区别
- #import ,#include,@class 的区别
- @class,#import,#include的区别
- #include,#import,@class的区别
- 【iOS开发-77】用storyboard实现主流框架:UITabBarController+UINavigationController
- iOS面试问题
- 进程与线程的区别和联系
- (转)SOCKET通信(入门)
- Socket原理与编程基础
- #include、#import与class之间的区…
- xmpp协议的实现
- POJ题目分类
- XMPP个人觉得解释还凑合,可以看看…
- 初识xmpp笔记
- 开发经验小结
- 通过代码自定义cell(cell高度不同…
- iOS常用的注释方法
- C++中引用