#include
- include <>:用于引入系统自带的头文件,编译器会在系统文件目录下查找该文件
- include "":用于引入用户自定义头文件,编译器会在用户目录下查找,然后在安装目录下查找,最后在系统文件中查找
缺点:重复引用
例:四个头文件:a.h b.h c.h d.h,如果b c 都引入了a, d引入了b, c, 则编译提示对于a 重复引用错误
解决方法:
#ifndef _CLASSC_H
#define _CLASSC_H
#include "ClassC"
#endif
#import
- import <>:用于引入系统框架
- import "":用于引入自己创建的头文件
优点:不会出现重复引用错误
@class
- 用于声明一个类,告诉编译器他后面是一个类,但是对于类的具体实现不需要知道,可以用来创建该类的实例变量
- 一般用于h文件中,在m文件中任然需要import引入文件
总结
- include与import在引用一个类的时候会包含这个类的所有信息包括变量方法等,但是这样做会对编译效率造成影响
- include与import会出现交叉引用的问题
- 使用@class可以提高编译效率,但是如果需要访问指定类的成员变量或方法,还是需要用import
网友评论