0

いくつかのクラス メソッドを実装する基本クラスがあります。クラス名を使用して、それがどのリソースであるかを推測し、リモートで取得しています。

@implementation BaseResource : CPObject

+ (id)find:(CPString)identifier
{
}

次のようなインスタンスメソッドからクラスメソッドを呼び出せるようにしたい

- (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
}

別の名前のサブクラスで機能する必要があるため、BaseResource クラス名を使用したくありません。

クラス名を明示的に使用せずに、インスタンス メソッドからクラス メソッドを呼び出すにはどうすればよいでしょうか。

4

1 に答える 1

2
[self class] 

トリックを行います。

例えば

[[self class] find:1] 
于 2012-02-27T18:43:46.767 に答える