如何在不使用类名的情况下从实例方法调用类方法

时间:2012-02-24 19:52:56

标签: objective-j

我有一个实现一些类方法的基类。它使用类名来推断它是什么资源并远程获取它。

@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类名,因为它需要适用于具有不同名称的子类。

如何在不明确使用类名的情况下从实例方法调用类方法?

1 个答案:

答案 0 :(得分:2)

[self class] 

会做到这一点。

例如

[[self class] find:1]