#include
#include <> :用于对系统文件的引用,编译器会在系统文件目录下去查找该文件。
#include "xx.h":用于对用户自定义的文件的引用,编译器首先会去用户目录下查找,然后去安装目录,最后去系统目录查找。
注:使用include要注意重复引用的问题:
class A,class B都引用了class C,class D若引用class A与class B,就会报重复引用的错误。
#import
功能与include基本相同,不过它避免了重复引用的问题。所以在OC中我们基本用的都是import。
@class
@class就是告诉编译器有这个类存在,但是类是如何实现的不用告诉编译器.若.m文件用到了这个类,还是要在.m文件汇总import这个类的。
既然这样,为什么不直接在头文件中import呢,举个例子:
class A引用了class B,class B引用了class C.... , class
A,B,C...的头文件又import了很多文件,那么 import了A的话,编译器就需要编译大量的文件,编译时间就会增加。
难道头文件中都是用@class吗?当然不是,有时也是需要#import的,那么什么时候该用什么呢?
(1)一般如果有继承关系的用#import,如B是A的子类那么在B中声明A时用#import;
参考:http://blog.sina.com.cn/s/blog_a843a8850101b6a7.html
http://blog.sina.com.cn/s/blog_b6e3f37101019f0j.html
作者:sjx19871225 发表于2013-2-1 16:10:33 原文链接
阅读:0 评论:0 查看评论