-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;


现在,如何从子类中调用ClassProperty?

-(NSDictionary *)properties {
    return [? ClassProperties];
}


关键是ClassProperties获取类中的属性列表,因此我无法调用基类定义。

最佳答案

按照Marc的回应,您通常可以使用

[[self class] ClassProperties]


实际上,如果您的基类和所有子类都实现了+ (NSDictionary *)ClassProperties,则您的基类可以做到这一点

- (NSDictionary *)properties {
    return [[self class] ClassProperties];
}


然后您的所有子类都不需要了解- (NSDictionary *)properties。正确的类方法将基于self被调用。

关于objective-c - 如何从类的实例中调用方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/429841/

10-13 09:26