2017.6.6 学习日记-第2条:在类的文件中尽量少引入其他头文件

《Effective Objective-C 2.0 编写高质量iOS与OS X的52个有效方法》读书总结

第一章 熟悉的Objective-C

第2条:在类的文件中尽量少引入其他头文件


类(class):

头文件(head file):后缀.h

实现文件(implementation file):后缀.m

引入头文件三种方式:

1.#import引入:

一些基本头文件,如框架类Foundation.h、UIKit.h,由于继承自框架中的某个类,可能会使用到其基类中的许多内容

需要实现属性、实例变量或者要遵循协议

2.#include引入

#include 与#import 类似,#import可以自动防止重复导入,一般情况下使用#import

3.@class关键字引入

只需知道类名而不用知道类中的细节, 即向前声明(forward declaring),将引用头文件的时机尽量延后,只在确有需要时才引入。

向前声明解决了两个类互相引用的问题。

除非确有必要,否则不要引入头文件。一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入那些类的头文件。这样子可以尽量降低类之间的耦合(coupling)。

有时无法使用向前声明,比如要声明某个类遵循一项协议。这种情况下,尽量把 “该类遵循某协议” 的这样声明移至 “class-continuation 分类中” 中。如果不行的话,就把协议单独放在一个头文件,然后将其引入。

“class-continuation 分类”,(class-continuation category)

你可能感兴趣的:(2017.6.6 学习日记-第2条:在类的文件中尽量少引入其他头文件)