는 전 클래스가하위 클래스와 속성이 할당
@interface AdvDescModel : BasicDescription
-(id)initWithBasicModel:(BasicDescription*)basicModel;
그래서 제 질문은 내가 새로운 개체를 만들 수있을 때 모든 속성을 할당하는 방법이다. 지금은 초기화에서
AdvDescModel *adv = [AdvDescModel alloc] initWithBasicModel:basic];
그리고 있습니다
-(id)initWithBasicModel:(BasicDescription*)basicModel {
if(self = [super init]) {
[self setAllParams:basicModel];
}
return self;
}
-(void)setAllParams:(BasicDescription*)bModel {
[self setAuthor:bModel.author];
[self setYear:bModel.year];
[self setOwner:bModel.owner];
}
을하지만,이 작업을 수행하는 더 좋은 방법은 무엇입니까? 이제 모든 속성을보고 setter를 호출해야합니다.
새로 할당 된 것을 초기화하기 위해 "준비된"BasicDescription 객체가 필요하지 않습니다 !!! – Moxy
그것은 ** 하나를 필요로하는 것이 아니라 그 존재를 명시한 원래 상황을 수용하는 것의 문제입니다. 클래스에 초기화 자 하나만 있으면된다는 요구 사항은 없습니다. –
물론 두 개 이상의 초기화 프로그램을 가질 수 있습니다. 하지만 나는 오히려 BasicDescription 객체에서 propertys를 설정하기 위해 helper 메소드 (init로 시작하지 않는 메소드)를 사용하려고합니다. – Moxy