如何从类的实例调用方法?

mam*_*mcx 2 objective-c

-(NSDictionary *)properties;
+(NSDictionary *)ClassProperties;
Run Code Online (Sandbox Code Playgroud)

现在,我如何从子类调用ClassProperties?

-(NSDictionary *)properties {
    return [? ClassProperties];
}
Run Code Online (Sandbox Code Playgroud)

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

Cod*_*all 5

按照Marc的回应,您可以更普遍地调用该方法

[[self class] ClassProperties]
Run Code Online (Sandbox Code Playgroud)

实际上,如果您的基类和所有子类都实现了+ (NSDictionary *)ClassProperties,那么您的基类可以执行此操作

- (NSDictionary *)properties {
    return [[self class] ClassProperties];
}
Run Code Online (Sandbox Code Playgroud)

然后你的子类都不需要知道- (NSDictionary *)properties.将根据内容调用正确的类方法self.