ios - NSString hasPrefix : vs hasSuffix: which is less expensive?

标签 ios objective-c nsstring

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

谢谢

最佳答案

NSString 是“免费桥接”到 CFStringRef,所以 你可以检查实现 http://www.opensource.apple.com/source/CF/CF-744.19/CFString.c .

相关的函数是CFStringHasPrefix()CFStringHasSuffix(),它们调用 CFStringFindWithOptionsAndLocale() 没有或带有 kCFCompareBackwards 标志。

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

(但一般的“免责声明”也适用于此:您应该分析您的应用程序 并检查前缀/后缀检查是否是性能瓶颈。 如果不是,请选择更合乎逻辑或更易于维护的内容。)

关于ios - NSString hasPrefix : vs hasSuffix: which is less expensive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18866167/

相关文章:

c++ - 高效快捷地访问 CoreFoundation 容器

iphone - 如何计算NSString对象中非字母数字字符的数量?

objective-c - iOS中心底部位置 View

ios - 复杂行警告 : AnyObject is not a subtype of NSObject

javascript - 如何将 HMHome 转换为 React Native 的 JavaScript?

ios - 设置下标颜色,kCTForegroundColorAttributeName,ios

objective-c - Objective C 字符串操作、查看、添加

ios - iO 上 phonegap 的唯一标识符

ios - Swift 中的 AURenderCallback

objective-c - 将一个透明的 NSWindow 永久地放在另一个 NSWindow 之上