我知道有可能使用方法compare:
和isEqualToString:
,我想isEqualToString是最有效的方法如果你知道它是一个字符串。但我的问题是,还有另一种更有效的方法吗?就像比较字符或类似的东西。如何有效比较两个NSString
0
A
回答
4
通过读取文档:
比较使用串的规范表示,这对于一个特定的字符串是字符串加上Unicode字符组成的字符串的长度。当此方法比较两个字符串时,如果单个Unicode相同,则字符串相等,而不管后备存储如何。当应用于字符串比较时,“文字”意味着不应用各种Unicode分解规则,并且单独比较Unicode字符。因此,例如,表示为组合字符序列“O”的“Ö”,并且变音符不会等于表示为一个Unicode字符的“Ö”。
和:
当你知道这两个对象都是字符串,这个方法是检查平等的isEqual相比更快的方法:。
它似乎是最好的方法来比较字符串,并且它完全符合您的需要,即:首先检查长度(如果2个字符串具有不同的长度,则不需要检查每个包含的字符),那么如果长度相同,则比较每个字符。简单而高效!
3
isEqualToString:
如果您知道两个对象都是字符串,则会更快,如documentation所述。
1
您可以尝试将这两个字符串转换为C字符串,然后使用strcmp。怀疑它实际上会更快。
char *str1 = [myNSString1 UTF8String];
char *str2 = [myNSString2 UTF8String];
BOOL isEqual = strcmp(str1,str2);
相关问题
- 1. NSString比较效率
- 2. 如何比较NSString *
- 3. C#如何比较两个有序集?
- 4. 如何比较两个ID
- 5. 如何比较两个DateTimeOffSet?
- 6. 如何比较两个NSIndexPaths?
- 7. 如何比较两个arraycollection
- 8. 如何比较两个LTL?
- 9. 如何比较两个System.Types?
- 10. 如何比较两个ImageViews?
- 11. 如何比较两个.exes
- 12. 如何比较两个RippleDrawables?
- 13. 如何比较两个NSMutableArray?
- 14. 在Python中有效比较两组
- 15. 如果比较两个NSString对象时“a == b”为false
- 16. objective c NSString比较
- 17. NSRegularExpression和NSString比较
- 18. 有效的比较
- 19. 如何有效地比较一个大表的两个行子集?
- 20. 如何比较两个在C#高效分选大名单?
- 21. 如何高效地逐项比较两个大的XML文件?
- 22. 比较两个NSMutableDictionaries
- 23. 比较两个FluentWebElement
- 24. 比较两个bsts
- 25. 比较两个UIImages
- 26. 比较两个词
- 27. 比较两个NSManagedObjects
- 28. 比较两个JSON
- 29. 比较两个DataFrames,
- 30. 比较两个NSDates
你为什么认为'比较:'和'isEqualToString:'对你来说效率不够? – Alex
我不知道我想知道它,因为我的程序使用这个函数很多,但daveoncode的答案让我头疼。 – Gustavo