2012-02-20 49 views
4

我目前正在使用iOS 4.0测试iPhone 3G上的应用程序。NSClassFromString()即使在课程不可用时也会返回类

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

if (NSClassFromString(@"CLGeocoder")) 

在文档它指出CLGeocoder适用于iOS 5.0或更高版本。 但上面的代码不返回零。

为什么?这个类不应该的iOS 4.0

+3

是什么回报? 'CLGeocoder'很可能已经在iOS 4中出现,只是没有公开提供。 – 2012-02-20 18:59:33

+0

@JoshCaswell正是它返回CLGeocoder!你可能是对的。我已经找到了解决方法,只要我被允许,我会尽快回复。感谢您的提示 – bllubbor 2012-02-20 19:25:12

回答

2

可用于检查是否CLGeocoder可用,但真正在运行iOS 5的我用下面的:

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

         //iOS 5 or later  
     } 
+0

因此'NSClassFromString'本身永远不会/有时足够吗? – Rivera 2013-12-19 01:57:54

相关问题