Как программно проверить, имеет ли UIKit заданный класс?
UIKit
Например, на iOS3 нет UINib, а на iOS4 есть. Я могу использовать SDK4, но если я попытаюсь запустить его на устройстве iOS3.0, у меня возникнет исключение.
UINib
Примечания к выпуску iOS 4 состояние:
iOS 4 включает новый класс UINib для поддержки быстрого разархивирования пера файлы. Хотя этот класс является новым для iOS SDK 4, он присутствовал, но частный, в предыдущих выпусках. Особая осторожность должна быть Развертывание кода, который использует класс UINib, а также работает на релизах iOS до версии 4. В частности, вы не можете определить доступность класса исключительно с использованием функции NSClassFromString, потому что эта проверка возвращает закрытый класс на iOS 3.x и более ранних. Вместо этого, после получения класса UINib с использованием NSClassFromString, вы необходимо также использовать responsedsToSelector: метод возвращаемого класса для посмотрите, отвечает ли он на nibWithNibName: bundle: метод. Если оно отвечает на этот метод, вы можете использовать класс.