나는 단지 목표를 배우려하고있다. c.Abstract objective-c의 팩토리 패턴
AbstractFactory 패턴의 위키피디아 예제를 다른 언어로 보았습니다. 공장 여기
@protocol Button
- (void)paint;
@end
@interface WinButton : NSObject <Button>
@end
것 : 여기
이 버튼 정의의 지금까지 내가 kwnow로@implementation WinFactory
- (id)createButton {
return [[[WinButton alloc] init] autorelease];
}
@end
, OBJ-C의 id
키워드는 C#의이 var
또는 C++ (11)의 auto
과 같이해야한다 , 맞습니까?
그래서 내 질문은 :
왜 공장이 지정되지 않은 유형의 일반 객체를 돌려 보자? 버튼이 아닌 다른 것을 공장에서 반환하도록하는 오류입니까? 아니면 그렇게할만한 이유가 있습니까? 나는 공장이 방법을 써서
:@implementation WinFactory
- (id<Button>)createButton {
return [[[WinButton alloc] init] autorelease];
}
@end
은 내가 잘못입니까?
명확한 대답에 감사드립니다. 사실 실수가 아니 었습니다. 나는 신분증
@Heisenbug 당신은 환영합니다 - 그 경우 구문 비트를 삭제하겠습니다. 건배 – justin