Objective-C跟C以及C++一樣采用“頭文件.h”與“實現(xiàn)文件.m”來區(qū)隔代碼:
// Person.h頭文件
#import <Foundation/Foundation.h>
@interface Person : NSObject
/** firstName */
@property (nonatomic, copy) NSString *firstName;
/** secondName */
@property (nonatomic, copy) NSString *lastName;
@end
// Person.m實現(xiàn)文件
#import "Person.h"
@implementation Person
// 具體的方法的實現(xiàn)
@end
上述代碼中#import <Foundation/Foundation.h>可以看出,在Objective-C中,通常使用#import來引用某個類或者框架的頭文件,這樣做可以獲取到頭文件中的全部信息(暴露在頭文件里的屬性和方法)。但有時在引用某個類時不需要知道此類的全部細節(jié),此時可以使用@class Person的寫法,此寫法直接告訴編譯器:“嘿,有一個類叫Person,你不要報錯!”
另外使用@class Person的寫法還有一個好處:避免“循環(huán)引用”(Page6舉例說明)。