对类参数执行类方法



如何在传递给方法的类上执行类方法?

假设我有一个类:

@interface MyClass:NSOBject
+ (NSArray *) array;
@end

当我实例化类时

MyClass test = [[MyClass alloc] init;

我可以通过以下方式访问数组

[[test class] array];

但是如果我将此类传递给方法

[doStuffWithMyClass: (Class) aClass];

如何在方法中访问 ARRY? 我可以将类"投射"到某个类吗?

- (NSInteger) doStuffWithMyClass: (Class) aClass {
   return [aClass array].count;
}

Class es 是对象,所以是的,你可以强制转换它们。

否则你可以做

[aClass performSelector:@selector(array)];

最新更新