Objective-C学习之旅,十二----源文件组织

1、拆分接口和实现部分

  Objective-C类的源代码被拆分成了两部分。一部分是接口(interface),用来提供类的公共描述。也就是累的@interface指令、公共的Struct定义,enum常量、#defines和extern全局变量等。另一部分是实现(implementation)。如:类的@implementation指令、全局变量的定义、私有struct等。

2、导入头文件的不同

  导入头文件是使用尖括号和引号的不同。

  使用尖括号是用来导入系统的头文件,如:#import<Cocoa/Cocoa.h>。这个头文件对你的项目来说是只读的,因为它属于系统。

  使用引号是导入项目本地的头文件。它是可以编辑的。

3、组织源代码的基本技巧

  组织源代码的基本技巧技术使用多个文件,通常每个类都有2个文件,.m文件和.h文件。类的使用者可以导入头文件来获得该类的使用功能。

4、巧妙的使用类的前向引用@class。

  @class创建了一个前向引用,就是告诉编译器:"相信我,以后你会知道这个类到底是什么,但是现在,你只需要知道这些".如果有循环依赖关系,@class也很有用,即A类使用B类,B类也使用A类,如果试图通过#import语句让这2个类互相引用,那么最后就会出现编译错误,但是如果在A.h中使用@class B,在B.h使用@class A,那么这2个类就可以互相引用了。

  文件之间互相重复的导入会增加编译次数,也会导致不必要的重复编译,而巧妙的使用@class指令能够减少编译时间。它可以减少不得不导入的头文件的数量。