在Objective-C中,我们可以使用泛型或基类引用来调用不同的类方法吗?

时间:2012-09-23 02:24:11

标签: objective-c

在Objective-C中,我们可以有一个类Foo和一个类Bar,然后执行类似

的操作
Class aClass = [Foo class];
[aClass getURLString];

其中getURLString是类Foo或Bar的类方法。换句话说,根据类调用不同的类方法,并且该类由变量引用。

在此示例中,Foo和Bar具有相同的NSObject基类。我尝试使用上面的代码,它将无法正常工作。如果我使用

id aClass = Foo;

id aClass = [Foo class];

它也不起作用。我必须实例化一个虚拟对象吗? Objective-C可以在没有实例化的情况下完成吗?

1 个答案:

答案 0 :(得分:2)

你正在尝试的应该可以正常工作。例如,以下工作:

Class NSStringClass = [NSString class];
NSString *string = [NSStringClass string];

您是否有可能忽略#import Foo的定义?