即使类不可用,NSClassFromString()也会返回一个类

时间:2012-02-20 18:57:28

标签: iphone objective-c ios5 ios4

我目前正在使用iOS 4.0在iPhone 3G上测试应用程序。

我有以下代码来检查此类是否可用。

if (NSClassFromString(@"CLGeocoder"))

在文档中,它指出CLGeocoder可用于iOs 5.0及更高版本。 但上面的代码不会返回nil。

为什么呢?此类不应在iOS 4.0中提供

1 个答案:

答案 0 :(得分:2)

要检查CLGeocoder是否可用且它是否真的在运行iOS 5,我使用了以下内容:

    if (NSClassFromString(@"CLGeocoder") && 
    [NSClassFromString(@"CLGeocoder") instancesRespondToSelector:
@selector(reverseGeocodeLocation:completionHandler:) ]) {

                        //iOS 5 or later    
       }