什么更快:' - isKindOfClass:'或'-isEqualToString:'?

Bru*_*Ely 4 objective-c sprite-kit

我正在使用SpriteKit制作游戏,并想知道触摸的节点是否是我正在寻找的特定节点.哪个会更快,给该自定义类的所有节点一个NSString名称并使用-isEqualToString:来检查它或使用-isKindOfClass:来检查特定的类?

Jef*_*Jef 5

类比较几乎肯定会是这两种选择中更便宜/更有效的选择.字符串比较是昂贵的,因为字符串需要灵活的大小(同样,NSString是一个集群,相同的字符串可能用替代数据表示来表示,具体取决于它的初始化方式)其中'class'是已知类型的固定内存占用.