Я рассматриваю представление:
if ([myInstance isKindOfClass:[SomeClass class]]) { do something...}
в часть кода, который называют довольно часто. Я представлю значительную потерю производительности? В Objective C, там более быстрый способ оценить, является ли приведенный пример объекта определенный тип класса? Например, действительно ли следующее более быстро? (Я понимаю, что тест несколько отличается),
if (myInstance.class == [SomeClass class]) { do something else...}
Самый быстрый способ узнать, относятся ли два объекта к одному и тому же классу, - это сравнить их указатели isa
. Однако это означает, что вы пропустите, когда класс одного объекта является подклассом класса другого объекта, для чего и предназначен isKindOfClass:
.
Тем не менее, оптимизация, о которой вы говорите, уже была сделана здесь:
http://www.mulle-kybernetik.com/artikel/Optimization/opti-3-imp-deluxe.html