比方说,我有以下标题:OBJ-C - 从一个类层次结构得到一个类名
@interface SuperClass : NSObject
@interface SubClass : SuperClass
我做alloc'ing的类的实例:
SubClass *sc = [[SubClass alloc] init];
在我的SuperClass.m中:
- (id) init
{
self = [super init];
if (self != nil)
{
NSString *cString = NSStringFromClass([self class]);
}
return self;
}
简单吧?我的问题是:我如何获得cString返回SuperClass类,而不是SubClass类? 由于子类被分配/初始化,这是不可能的吗?
谢谢!
有各种各样的方法来完成这一点,最简单的是卡尔的建议,如果你总是想要相同的字符串,只需使用静态字符串。如果你想在这里解决一些更深层次的问题,可以让我们参与进来,这样我们可以为如何去做提供更好的建议。 – Chuck 2010-06-08 23:15:07
同意查克。我想不出有什么理由需要知道supeclass的名字。也许有更好的办法来处理你想要的东西。 – JeremyP 2010-06-09 07:32:28