我正在考虑介绍:
if ([myInstance isKindOfClass:[SomeClass class]]) { do something...}
进入一段经常被调用的代码。我会引入重大的性能损失吗?在Objective C中,是否有更快的方法来评估给定的对象实例是否属于某种类型?例如,以下更快? (我意识到测试有些不同)
if (myInstance.class == [SomeClass class]) { do something else...}
答案 0 :(得分:4)
查看两个对象是否属于同一类的最快方法是比较它们的isa
指针。但是,这意味着当一个对象的类是另一个对象类的子类时,你会错过,这正是isKindOfClass:
的意思。
无论如何,你所谈论的优化已在这里完成:
http://www.mulle-kybernetik.com/artikel/Optimization/opti-3-imp-deluxe.html