我正在阅读 Apple 的教程之一(您的第二个 iOS 应用程序)。基本上,您有一个主数据类和一个数据控制器类。控制器类通过创建包含它们的数组来操作主要数据对象。
突然出现这个:
“...但是“创建主集合”任务是只有数据控制器对象需要知道的任务。由于此方法不需要暴露给其他对象,因此您无需在标头中声明文件。”
事实证明,“主集合”的初始化作为类扩展而不是头文件出现在 .m 文件中。我们为什么要这样做?直接在头文件中声明初始化方法有什么问题?
数据控制器的头文件:
#import <Foundation/Foundation.h>
@class BirdSighting;
@interface BirdsSightingDataController : NSObject
@property (nonatomic, copy) NSMutableArray *masterBirdSightingList;
- (NSUInteger)countOfList;
- (BirdSighting *)objectInListAtIndex:(NSUInteger)theIndex;
- (void)addBirdSightingWithName:(NSString *)inputBirdName location:(NSString *)inputLocation;
@end
这是相应的 .m 文件:
#import "BirdsSightingDataController.h"
#import "BirdSighting.h"
@interface BirdsSightingDataController ()
- (void)initializeDefaultDataList; //class extension
@end
@implementation BirdsSightingDataController
...