我想使用禁用自動鍵盤禁用屬性UIViewController最近已經引入iOS 4.3。如何安全地使用最近才引入iOS的對象的屬性?
如何處理/檢查早期版本的iOS運行我的應用程序的情況,並且此屬性不可用?
如果它是一個選擇器,我會使用respondsToSelector:@selector(something)但我不知道該怎麼做屬性。
謝謝大家!
我想使用禁用自動鍵盤禁用屬性UIViewController最近已經引入iOS 4.3。如何安全地使用最近才引入iOS的對象的屬性?
如何處理/檢查早期版本的iOS運行我的應用程序的情況,並且此屬性不可用?
如果它是一個選擇器,我會使用respondsToSelector:@selector(something)但我不知道該怎麼做屬性。
謝謝大家!
屬性只是聲明setter和getters。在這種情況下:
setDisablesAutomaticKeyboardDismissal:
和
disablesAutomaticKeyboardDismissal
所以,你可以這樣做:
if([object respondsToSelector:@selector(disablesAutomaticKeyboardDismissal)]) {
// do your stuff here
}
繼續@ pt2ph8的回答,屬性比花哨的方式來產生的方法(多一點在這個層次上差異並不重要)。可讀屬性的存在意味着實例將響應該名稱的選擇器,因此-respondsToSelector:
是正確的測試。
感謝羅布。現在感覺有點愚蠢,因爲想要推翻這個!我的大腦必須有一個緩慢的一天! – Damien 2011-04-05 12:44:58
杜!當然。對不起,我正在反思這個!我將在幾分鐘內接受stackoverflow允許的答案。再次感謝。 – Damien 2011-04-05 12:41:55