나는 클래스 클러스터 패턴에 대한 정보를 읽고, 다음 이해 :목표 - C와 클래스 클러스터 패턴
공공 클러스터 클래스는 다른 클래스가 서로 다른 경우에 그것을 구현, 실제 구현하지 않고 인터페이스를 제공합니다;
추상 팩토리 패턴과 몇 가지 유사점이 있습니다.
+classNameWith...
메서드를 호출하면 인수에 따라 가장 적합한 하위 클래스를 선택하고 반환 할 수 있습니다.
예를 들어 +[NSNumber numberWithDouble:1.0]
은 이중 값을 저장하기위한 구현을 반환합니다.
하지만 난 이해하지 못했다 무엇 : 공공 클러스터 클래스의 -init...
방법을 작동하는 방법 : alloc
를 호출 한 후 같은 [[NSNumber alloc] initWithDouble:1.0]
을 이미되지는 하위 클래스, NSNumber
의 인스턴스를 할당합니다.
그래서 공개 클러스터 클래스의 alloc-init
메소드가 실제로 어떻게 작동하는지 설명 할 수 있습니까? 구체 서브 클래스가 인스턴스화되어 리턴 될 때?
[NSNumber.m의 GNUStep 버전] (https://github.com/gnustep/gnustep-base/blob/master/Source/NSNumber.m)을 살펴볼 수 있습니다. –
Josh Caswell, 훌륭한 링크에 감사드립니다! – Mikhail
[Objective-C Programming : Class Clusters의 개념] (https://developer.apple.com/library/ios/documentation/general/conceptual/CocoaEncyclopedia/ClassClusters/ClassClusters.html)을 이미 읽었다 고 가정합니다. –