假设你有以下两个构造函数:
- (id)initWithTitle:(NSString *)title;
- (id)initWithTitle:(NSString *)title page:(NSString *)page;
第二个构造函数与第一个没有区别,只是它设置了成员变量“page”。
既然基本上要做相同的事情,是否有办法从第二个构造函数中调用第一个构造函数以减少代码重复,或者您必须设置第三个方法来执行常见任务?
我正在讨论类似于这样的东西,尽管我怀疑这不会起作用:
- (id)initWithTitle:(NSString *)_title {
if(self = [super init]) {
self.title = _title;
}
return self;
}
- (id)initWithTitle:(NSString *)_title page:(NSString *)_page {
if(self = [self initWithTitle:_title]) {
self.page = _page;
}
return self;
}