문자열 비교는 비용이 많이들 수 있습니다. 문자열의 크기를 비교하면 매우 높은 비율의 문자열 비교를 제거 할 수 있다는 통계가 있습니다. 그래서 NSString 비교 : 메서드를 고려 여부를 알고 궁금 해서요. 누구 알아?NSString 비교 효율
0
A
답변
2
소스에 따르면 (구현이 다르지만 다른 기능을 수행 할 수도 있음) compare
은 길이를 먼저 확인하지 않습니다. 실제로는 평등 검사가 아니기 때문에 실제로 의미가 있습니다. less-than/equal-to/greater-than 리턴 코드를 리턴하므로 문자 길이가 같더라도 은입니다.
길이가 다른 경우 순수한 isEqual
유형의 방법은 문자 검사를 단축 할 수 있지만 compare
에는 그 고급 스러움이 없습니다.
0에 대한 길이의 특정 검사는 수행하지만 서로에 대한 두 길이의 비교는 수행하지 않습니다.
1
예. 또한 포인터가 평등한지 (문자열 상수와 문자열 ROM 때문에 상수 문자열 케이스와 일부 문자열을 다룹니다) 체크합니다.
(편집)이 답변은 -isEqualToString :, -compare :에 적용되지 않습니다. 내가 잘못 읽었습니다
관련 문제
- 1. 큰 O 알고리즘 효율 비교
- 2. APNS 토큰과 NSString 비교
- 3. NSRegularExpression 및 NSString 비교
- 4. NSString 비교 NSOrderedSame 대신 NSOrderedDescending을 반환합니다.
- 5. Objective-C & NSString 두 개 비교
- 6. iOS : NSString 텍스트와 UITextView 텍스트 비교
- 7. 대소 문자를 구분하지 않는 NSString 비교
- 8. NSString 리터럴 및 상수 비교 문제
- 9. NSString에서 NSString 인쇄 및 HMAC 해시 비교
- 10. Java 재귀 효율 분석
- 11. Java 효율
- 12. 효율 차이
- 13. 데이터베이스 효율
- 14. 쿼리 효율
- 15. jQuery를 효율
- 16. 효율 최적화
- 17. 수집 효율
- 18. NSString NSData로 변환없이 NSString
- 19. NSString 형식의 NSString
- 20. 루프 처리 효율
- 21. Python if 문 효율
- 22. 루프 효율 - C++
- 23. MySQL 효율 시나리오
- 24. 개체의 메모리 효율
- 25. OpenGL 줌 효율
- 26. mysql 질의 효율
- 27. 효율 키/값 표
- 28. 정렬 알고리즘 효율/성능
- 29. 내장 타입 효율
- 30. AVL 트리 로테이션 효율
이러한 소스는 OSX에서 사용되는 소스가 아니지만 여전히 유용한 것입니다 –
@paxdiablo 흥미로운 자료입니다. isEqualToString : 먼저 해당 확인을 수행합니다. – stephen