在我的项目中,我需要有一个预定义字符串项的预定义前缀或后缀列表,它可以是前缀或后缀,这样我就可以浏览项目并检查每个项目的前缀或后缀,只是想知道哪个比较便宜?感觉hasPrefix:
更便宜,但我没有任何提及支持这一点。
由于
答案 0 :(得分:6)
NSString
是CFStringRef
的“免费桥接”,所以
你可以检查一下实现
http://www.opensource.apple.com/source/CF/CF-744.19/CFString.c
相关功能是CFStringHasPrefix()
和CFStringHasSuffix()
没有或带有CFStringFindWithOptionsAndLocale()
标志的kCFCompareBackwards
。
据我了解代码,此标志对性能没有影响,只有一些循环变量的初始化方式不同。
(但一般的“免责声明”也适用于此:您应该对您的申请进行分析 并检查前缀/后缀检查是否是性能瓶颈。 如果没有,请选择更合理或更容易维护的内容。)