// // EOCPerson.h // OC高效率52:类的头文件中尽量少引用其他头文件 // // Created by Zoujie on 15/10/8. // Copyright ? 2015年 Zoujie. All rights reserved. // #import <Foundation/Foundation.h> //#import "EOCEmployer.h" @class EOCEmployer;//向前申明该类,将引入头文件的时机尽量延后,只有确定需要时才引入;如果把EOCEmployer.h引入到EOCPerson.h,那么只要引入EOCPerson.h就会一并引入EOCEmployer.h的所有内容。向前声明也解决了两个类互相引用的问题 @interface EOCPerson : NSObject @property (nonatomic,copy) NSString *firstName; @property (nonatomic,copy) NSString *lastName; #pragma mark -要点 /* * 除非确有必要,否则不要引入头文件。一般来说,应在某个类的头文件中使用向前声明来提及别的类,并在实现文件中引入哪些类的头文件。这样做可以尽量降低类之间的耦合。 *有时无法使用向前声明,比如要声明某个类遵循一项协议。这种情况下,尽量把“该类遵循某协议”的这条声明移至“class-continuation分类中”。如果不行的话,就把协议单独放在一个头文件中,然后将其引入。 */ @property (nonatomic,strong) EOCEmployer *employer; @end
// // EOCPerson.m // OC高效率52:类的头文件中尽量少引用其他头文件 // // Created by Zoujie on 15/10/8. // Copyright ? 2015年 Zoujie. All rights reserved. // #import "EOCPerson.h" #import "EOCEmployer.h" @implementation EOCPerson @end
// // EOCEmployer.h // OC高效率52:类的头文件中尽量少引用其他头文件 // // Created by Zoujie on 15/10/8. // Copyright ? 2015年 Zoujie. All rights reserved. // #import <Foundation/Foundation.h> @class EOCPerson; @interface EOCEmployer : NSObject -(void) addEmployee:(EOCPerson *)person; -(void) deleteEmployee:(EOCPerson *)person; @end
// // EOCEmployer.m // OC高效率52:类的头文件中尽量少引用其他头文件 // // Created by Zoujie on 15/10/8. // Copyright ? 2015年 Zoujie. All rights reserved. // #import "EOCEmployer.h" #import "EOCPerson.h" @implementation EOCEmployer @end
时间: 2024-12-24 22:29:02