빈 문자열을 확인할 수 있는 세가지 방법에 대해 알아보겠습니다.
1. .count == 0
문자열의 문자 개수를 계산한 뒤 이를 0과 비교하게 됩니다.
문자열 길이를 계산하기 때문에 내부적으로 모든 문자를 순회해야될 가능성도 존재합니다.
그렇기 때문에 문자열이 매우 길다면 이 방법은 비효율적일 수 있습니다.
2. == ""
문자열을 빈 문자열과 비교하는 코드입니다.
Swift 에서는 문자열 비교 시 문자열의 모든 문자를 순회하여 일치 여부를 확인하게 됩니다.
위에서 알아본 방법들은 전부
모든 문자를 순회해야하는 문제점이 존재합니다.
그렇다면 좀 더 효율적인 방법으론 어떤 것이 있을까요?
바로 isEmpty 프로퍼티 사용입니다!
isEmpty 는 위의 두 방법과는 다르게
길이를 계산하거나 문자열을 순회하지 않으므로 시간복잡도 O(1) 을 갖게 됩니다.
단순히 비어 있는지 여부만 확인하므로 가장 효율적이라 할 수 있습니다!
별거 아닌 코드이지만 작은 차이가 앱 성능에 문제를 일으킬 수 있으니
빈 문자열 체크시엔 isEmpty 를 사용해보는 것 어떨까요??
방법 | 시간복잡도 | 특징 |
.count == 0 | O(n) | 문자열 길이를 계산하므로 느릴 수 있음 |
== "" | O(n) | 문자열 비교 연산으로 비효율적일 수 있음 |
isEmpty | O(1) | 가장 빠르고 효율적! |
'Swift' 카테고리의 다른 글
[Swift 문법] 프로토콜을 사용한 조건문 줄이기 (1) | 2024.06.30 |
---|---|
[Swift 문법] if case 를 사용한 패턴매칭 (2) | 2024.06.08 |