我正在考虑介绍:
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
关于objective-c - 在 Objective C 中使用 isKindOfClass 的性能损失是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2534755/