NSString hasPrefix:vs hasSuffix:哪个更便宜?

时间:2013-09-18 07:24:42

标签: ios objective-c nsstring

在我的项目中,我需要有一个预定义字符串项的预定义前缀或后缀列表,它可以是前缀或后缀,这样我就可以浏览项目并检查每个项目的前缀或后缀,只是想知道哪个比较便宜?感觉hasPrefix:更便宜,但我没有任何提及支持这一点。

由于

1 个答案:

答案 0 :(得分:6)

NSStringCFStringRef的“免费桥接”,所以 你可以检查一下实现 http://www.opensource.apple.com/source/CF/CF-744.19/CFString.c

相关功能是CFStringHasPrefix()CFStringHasSuffix() 没有或带有CFStringFindWithOptionsAndLocale()标志的kCFCompareBackwards

据我了解代码,此标志对性能没有影响,只有一些循环变量的初始化方式不同。

(但一般的“免责声明”也适用于此:您应该对您的申请进行分析 并检查前缀/后缀检查是否是性能瓶颈。 如果没有,请选择更合理或更容易维护的内容。)