我知道有可能使用方法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. IOS比較兩個NSString的
- 2. NSString比較效率
- 3. 如何比較NSString *
- 4. 如何比較char *和NSString?
- 5. 如何比較的NSString有「徵?
- 6. 我如何比較NSString與另外兩個NSStrings
- 7. 如何有效比較兩個HTML頁面內容
- 8. 比較不同的NSString到一個nsstring
- 9. C#如何比較兩個有序集?
- 10. 如何比較兩個System.Types?
- 11. 如何比較兩個DateTimeOffSet?
- 12. 如何比較兩個表
- 13. 如何比較兩個arraycollection
- 14. 如何比較兩個.exes
- 15. 如何比較兩個NSMutableArrays?
- 16. 如何比較兩個LTL?
- 17. 如何比較兩個HashSet?
- 18. 如何比較兩個RippleDrawables?
- 19. 如何比較兩個NSMutableArray?
- 20. 如何比較兩個ID
- 21. 如何比較兩個ArrayList
- 22. 如何比較兩個NSIndexPaths?
- 23. 如何比較兩個ImageViews?
- 24. 在Python中有效比較兩組
- 25. 如果比較兩個NSString對象時「a == b」爲false
- 26. objective c NSString比較
- 27. NSRegularExpression和NSString比較
- 28. 比較兩個字典的效率
- 29. 有沒有比較兩個數據幀的有效方式
- 30. 有效的比較
你爲什麼認爲'比較:'和'isEqualToString:'對你來說效率不夠? – Alex
我不知道我想知道它,因爲我的程序使用這個函數很多,但daveoncode的答案讓我頭疼。 – Gustavo