2012-02-24 11 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] 
関連する問題