如何以编程方式检查UIKit是否具有给定的类?
例如,在iOS3上没有UINib,但在iOS4上有。我可以在SDK4上构建,但是如果我尝试在iOS3.0设备上运行,我会遇到一个异常。
发布于 2011-11-03 15:49:55
iOS 4 release notes状态:
iOS 4包括一个新的UINib类,以支持快速解压nib文件。虽然这个类是iOS SDK4中的新类,但它在以前的版本中是私有的。在部署使用UINib类且也运行在版本4之前的iOS版本上的代码时,需要特别小心。具体地说,您不能仅使用NSClassFromString函数来确定类的可用性,因为该检查将在iOS 3.x和更早版本上返回私有类。相反,在使用NSClassFromString获取UINib类之后,您还必须使用返回类的respondsToSelector:方法来查看它是否响应nibWithNibName:bundle:方法。如果它响应该方法,则可以使用类。
https://stackoverflow.com/questions/7991608
复制相似问题