我有一个实现一些类方法的基类。它使用类名来推断它是什么资源并远程获取它。
@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类名,因为它需要适用于具有不同名称的子类。
如何在不明确使用类名的情况下从实例方法调用类方法?
答案 0 :(得分:2)
[self class]
会做到这一点。
例如
[[self class] find:1]