objective-c - 在 Objective C 中使用 isKindOfClass 的性能损失是多少?

标签 objective-c performance

我正在考虑介绍:

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/

相关文章:

iOS:UIView 层次结构:使 Map View 在 UIView 下处于事件状态

c++ - iOS项目中的cpp编译问题

ios - 应用程序在 ios 中触摸 UITextField 时崩溃

javascript - CDN 上有哪些著名的 JavaScript 库,URL 是什么?

performance - 快速转储 Azure 表

java - Python 与 Java 性能(运行时速度)

java - LocalCache Guava ,优化更高的吞吐量

ios - NSCoding-解码器返回错误值-iOS

Objective-c - NSData initWithContentsOfFile 与 dataWithContentsOfFile

mysql - 使用 Between 进行连接查询的限制