在我的项目中,我需要一个字符串项目的预定义前缀或后缀列表,它可以是前缀或后缀,这样我就可以遍历项目并检查每个项目的前缀或后缀,只是想知道哪个更便宜? 感觉好像hasPrefix:
更便宜,但我没有任何参考来支持这一点。
谢谢
在我的项目中,我需要一个字符串项目的预定义前缀或后缀列表,它可以是前缀或后缀,这样我就可以遍历项目并检查每个项目的前缀或后缀,只是想知道哪个更便宜? 感觉好像hasPrefix:
更便宜,但我没有任何参考来支持这一点。
谢谢
NSString
是“免费桥接”到的CFStringRef
,因此您可以在
http://www.opensource.apple.com/source/CF/CF-744.19/CFString.c中检查实现。
相关的函数是CFStringHasPrefix()
and CFStringHasSuffix()
,它们
CFStringFindWithOptionsAndLocale()
在没有或带有kCFCompareBackwards
标志的情况下调用。
据我了解代码,这个标志对性能没有影响,只有一些循环变量的初始化不同。
(但一般的“免责声明”也适用于此:您应该分析您的应用程序并检查前缀/后缀检查是否是性能瓶颈。如果不是,请选择更合乎逻辑或更易于维护的内容。)