2012-02-24 2 views
0

일부 클래스 메서드를 구현하는 기본 클래스가 있습니다. 클래스 이름을 사용하여 리소스가 무엇인지 추론하고 원격으로 가져옵니다.클래스 이름을 사용하지 않고 인스턴스 메서드에서 클래스 메서드를 호출하는 방법

@implementation BaseResource : CPObject 

+ (id)find:(CPString)identifier 
{ 
} 
나는 그것이와 서브 클래스 위해 일해야하기 때문에 나는 BaseResource 클래스 이름을 사용하지 않으

- (id)initWithCoder:(CPCoder)aCoder 
{ 
    [self find:1]; // This does not work 
    [BaseResource find:1]; // This works but will not resolve to the right resource name 
} 

같은 인스턴스 메서드에서 클래스 메소드를 호출 할 수 있도록하고 싶습니다

다른 이름.

명시 적으로 클래스 이름을 사용하지 않고 인스턴스 메서드에서 클래스 메서드를 호출하려면 어떻게해야합니까?

답변

2
[self class] 

트릭을 수행합니다. 예를 들어

[[self class] find:1]