第二條:在類的頭文件中盡量少引入其他頭文件
來自專欄 高質量iOS開發進階摸索
第二條:在類的頭文件中盡量少引入其他頭文件
與C和C++一樣,Objective-C也使用""頭文件(header file)"與""實現文件(implementation file)"來區隔代碼。用Objective-C語言編寫的""類(class)"的標準方式為:以類名做文件名,分別創建兩個文件,頭文件後綴名用.h,實現文件後綴用.m。創建好一個類之後,其代碼看上去如下所示
// MFPerson.h#import <Foundation/Foundation.h>@interface MFPerson : NSObject@property (nonatomic, copy) NSString *firstName;@property (nonatomic, copy) NSString *lastName; @end// MFPerson.m#import "MFPerson.h"@implementation MFPerson// Implementation of methods@end
如果在頭文件中需要引入其他類的頭文件的話,盡量使用""向前聲明(forward declaring)"
@class MFEmployer;
要點
- 除非確有必要,否者不要引入頭文件。一般來說,應在某個類的頭文件中使用向前聲明來提及別的類,並在實現文件中引入那些類的頭文件。這樣做可以盡量降低類漲價你的耦合(coupling)。
- 有時無法使用向前聲明,比如要聲明某個類遵循一項協議。這種情況下,盡量把""該類遵循某協議"的這條聲明移至"class-continuation分類""中。如果不行的話,就把協議單獨放在一個頭文件中,然後將其引入。
推薦閱讀:
※提升 iOS 開發效率! Xcode 9 內置模擬器的9個技巧
※2018最全的iOS面試題及答案(一)
※【0.44】React Native 中文更新日誌
※【OSG】實驗code review 解碼蘋果所有的Tokens decrypts/extracts all authorization tokens on macOS/OSX
※安卓的通知系統和iOS的比較?
TAG:iOS |