OC语言注意事项一

来源:互联网 发布:合肥工业大学网络公选 编辑:程序博客网 时间:2024/05/21 20:28

#import <Foundation/Foundation.h> 与 #include <Foundation/Foundation> 的区别

在C语言中,我们想要让编译器复制一些头文件到现在的源文件,俗称引入头文件,或者包含头文件,使用#include。

例如有三个单独没有联系的头文件FirstFloor.h, SecondFloor.h, ThirdFloor.h,  现在SecondFloor.h想要把整个FirstFloor.h文件

复制过来,可以在SecondFloor.h里添加代码:#include FirstFloor.h,这样SecondFloor.h头文件就把FirstFloor.h所有内容

复制过来了,实现了一个模块一个".h"文件。ThirdFloor.h里也复制过来:#include FirstFloor.h。

如果现在有第四个头文件FourFloor.h,包含SecondFloor.h与ThirdFloor.h,我们发现FirstFloor.h在第四个头文件FourFloor.h

被包含了两次,重复包含了。

为了避免上述重复引入同一个".h",在C语言开发的时候,每个头文件所有内容都会添加

#ifdefine _H_XXX

内容的定义

#endif

然而在objective-c里面,自己不需要写#ifdefine了,使用#import  XXX.h就能避免重复引入同一个".h"文件。


#import <XXX.h> 与 @class XXX 的区别

有两个类:Person,Animal

在类Person里我们会创建类类Animal对象animalObject,这个animalObject对象仅仅只是给person用来养的,

不需要animalObject对象实行具体的方法,这时候Person类不需要知道animalObject里面有什么方法,

只是单纯的指导有这样一个类,可以创建animalObject对象,也不需要知道animalObject对象里面有哪些方法

或者说行为动作,这时,如果Person类使用#import <XXX.h> 把Animal的类的行为动作也包含进来的话有点多余

所以就使用@class Animal.h。

0 0
原创粉丝点击