2011-11-03 79 views
0

如何以編程方式檢查UIKit是否有給定的類?iOS和UIKit類別檢查

例如,在iOS3上沒有UINib,但是在iOS4上有。我可以在SDK4上構建,但如果我嘗試在iOS3.0設備上運行,則會遇到異常。

+0

if([object isKindOfClass:UIView.class]) - 如果您有現有對象 – beryllium

回答

3

iOS 4 release notes狀態:

的iOS 4包括一個新的UINib類,以支持快速解除存檔筆尖 文件。儘管此課程是iOS SDK 4的新增功能,但在以前的版本中,它是私有的,但是是 。 部署使用UINib類的代碼時也需要特別注意,並且該版本也可以在版本4之前的iOS版本 上運行。具體而言,您無法單獨使用NSClassFromString函數 來確定類的 可用性,因爲該檢查返回一個iOS 3.x及更早版本的私人課程。 取而代之,在使用NSClassFromString獲取UINib類後, 還必須使用返回類的respondsToSelector:方法返回 ,看看它是否響應nibWithNibName:bundle:方法。如果它 對該方法做出響應,則可以使用該類。