我正在考慮引入:在Objective C中使用isKindOfClass的性能損失是多少?
if ([myInstance isKindOfClass:[SomeClass class]]) { do something...}
成一段代碼,被調用非常頻繁。我會否引入顯着的表現懲罰?在Objective C中,是否有更快的方法來評估給定對象實例是否具有某種類型?例如,以下更快? (我知道的測試有所不同)
if (myInstance.class == [SomeClass class]) { do something else...}
什麼你分析的結果告訴你嗎? – 2010-03-28 22:05:26
我還沒有做任何分析;這是我的下一步。我希望找到一些文檔來解釋Objective C中的類的基本魔法,然後再進入盲目的性能測試。然而,我還沒有找到任何東西,所以我下一步就嘗試不同的排列方式。關於如何識別給定實例的類類型的任何建議? – durcicko 2010-03-28 22:33:13
沒有盲目性能測試......只有盲目優化!此外,Obj-C運行時每次調用方法時都會根據對象的類來決定調用哪種方法,因此請利用該方法將{do something ...}放在您感興趣的類的某個方法上 – codewarrior 2010-03-29 00:52:55