我如何在类的@实现中创建一个方法,而不在@接口中定义它?
例如,我有一个构造函数,它执行一些初始化,然后从文件中读取数据。我想将文件读取代码分解成一个单独的方法,然后从构造函数中调用该方法。我不想在头文件中定义此方法,因为它仅适用于此@implementation上下文中的私有内容。
这是可能的吗?
这是我的例子。我有一个小程序,从文件中读取待办任务清单。
这是 @interface:
@interface TDTaskList : NSObject {
NSString* name; // The name of this list.
NSMutableArray* tasks; // The set of tasks in this list.
}
-(id)initListOfName:(NSString*)aName;
-(NSArray*)loadListWithName:(NSString*)aName;
@end
这是实现部分的一部分:
-(id)initListOfName:(NSString*)aName {
if (self = [super init]) {
name = aName;
NSArray* aTasks = [self loadListWithName:aName];
tasks = [NSMutableArray arrayWithArray:aTasks];
}
return self;
}
-(NSArray*)loadListWithName:(NSString*)aName {
// TODO This is a STUB till i figure out how to read/write from a file ...
TDTask* task1 = [[TDTask alloc] initWithLabel:@"Get the Milk."];
TDTask* task2 = [[TDTask alloc] initWithLabel:@"Do some homework."];
return [NSArray arrayWithObjects:task1, task2, nil];
}
我想要做的是在接口中不需要定义以下内容:
-(NSArray*)loadListWithName:(NSString*)aName;