0

在 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 可以在没有实例化的情况下做到这一点吗?

4

1 回答 1

2

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

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

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

于 2012-09-23T02:30:09.297 回答