我目前正在装有 iOS 4.0 的 iPhone 3G 上测试一个应用程序。
我有以下代码来检查这个类是否可用。
if (NSClassFromString(@"CLGeocoder"))
在文档中它指出 CLGeocoder 可用于 iOs 5.0 及更高版本。 但是上面的代码没有返回 nil。
为什么?这个类不应该在 iOS 4.0 中可用
最佳答案
为了检查 CLGeocoder 是否可用以及它是否真的在运行 iOS 5,我使用了以下命令:
if (NSClassFromString(@"CLGeocoder") &&
[NSClassFromString(@"CLGeocoder") instancesRespondToSelector:
@selector(reverseGeocodeLocation:completionHandler:) ]) {
//iOS 5 or later
}
关于iphone - NSClassFromString() 返回一个类,即使类不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9366801/