在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可以在没有实例化的情况下完成吗?
答案 0 :(得分:2)
你正在尝试的应该可以正常工作。例如,以下工作:
Class NSStringClass = [NSString class];
NSString *string = [NSStringClass string];
您是否有可能忽略#import
Foo
的定义?