如何在传递给方法的类上执行类方法?
假设我有一个类:
@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)];