Swift에서 텍스트 필드 비어 있음 여부 확인하기
Swift에서 텍스트 필드(UITextField)가 비어 있는지 확인하는 것은 매우 간단합니다. 핵심은 두 단계로 나누어 생각하는 것입니다. 먼저 텍스트 필드에 텍스트 값이 존재하는지(nil이 아닌지) 확인하고, 값이 존재한다면 그 텍스트가 실제로 비어 있는지 검사해야 합니다.
myTextField를 텍스트 필드 변수라고 가정하면, 다음과 같이 작성할 수 있습니다.
if let text = myTextField.text, !text.isEmpty {
// 텍스트 필드가 비어 있지 않습니다
} else {
// 텍스트 필드가 비어 있습니다
}
위 코드는 옵셔널 바인딩(if let)으로 text 값이 nil인지 먼저 검사한 뒤, !text.isEmpty 조건으로 텍스트가 실제로 입력되어 있는지 확인합니다. 두 조건을 한 줄에서 처리할 수 있어 안전하고 간결합니다.
Xcode 프로젝트로 직접 구현해 보기
텍스트 필드를 추가하고 비어 있음 여부를 확인하는 전체 과정을 단계별로 살펴보겠습니다.
1단계: 프로젝트 생성
Xcode를 실행한 후 New Project → Single View Application을 선택하고, 프로젝트 이름을 “CheckEmptyTextField”로 지정합니다.
2단계: UI 구성
Main.storyboard를 열고 아래 그림과 같이 텍스트 필드 하나, 버튼 하나, 레이블 하나를 위에서부터 차례대로 배치합니다. 버튼을 클릭하면 텍스트 필드가 비어 있는지 검사하고, 그 결과를 레이블에 표시하는 방식입니다.

3단계: 텍스트 필드 IBOutlet 연결
ViewController에 텍스트 필드의 IBOutlet을 추가하고 이름을 textField로 지정합니다.
@IBOutlet weak var textField: UITextField!
4단계: 레이블 IBOutlet 연결
마찬가지로 결과를 표시할 레이블의 IBOutlet을 추가하고 이름을 resultLabel로 지정합니다.
@IBOutlet weak var resultLabel: UILabel!
5단계: 버튼 IBAction 추가
‘Check’ 버튼의 touchUpInside 이벤트에 연결할 @IBAction을 다음과 같이 추가합니다.
@IBAction func checkTextField(_ sender: Any) {
}
6단계: 빈 텍스트 검사 로직 작성
checkTextField 함수 안에서 텍스트 필드가 비어 있는지 검사하고, 결과를 레이블에 표시합니다. 아래 코드를 함수 본문에 추가하세요.
@IBAction func checkTextField(_ sender: Any) {
if let text = textField.text, !text.isEmpty {
resultLabel.text = "텍스트 필드가 비어 있지 않습니다"
} else {
resultLabel.text = "텍스트 필드가 비어 있습니다"
}
}
7단계: 실행 및 테스트 (빈 경우)
프로젝트를 실행한 후 아무것도 입력하지 않은 상태에서 ‘Check’ 버튼을 클릭하면, 레이블이 “텍스트 필드가 비어 있습니다”로 업데이트되는 것을 확인할 수 있습니다.

8단계: 실행 및 테스트 (입력된 경우)
이번에는 텍스트 필드에 임의의 문자열을 입력한 뒤 ‘Check’ 버튼을 클릭합니다. 그러면 레이블이 “텍스트 필드가 비어 있지 않습니다”로 변경되는 것을 볼 수 있습니다.
추가 팁: 공백만 입력된 경우 처리하기
사용자가 스페이스바만 눌러 공백 문자를 입력한 경우에도 “비어 있지 않다”고 판정될 수 있습니다. 이런 경우를 함께 처리하려면 공백을 제거한 뒤 검사하는 것이 좋습니다.
let trimmed = textField.text?.trimmingCharacters(in: .whitespacesAndNewlines) ?? "" resultLabel.text = trimmed.isEmpty ? "텍스트 필드가 비어 있습니다" : "텍스트 필드가 비어 있지 않습니다"
이렇게 하면 nil 처리와 공백 제거까지 한 번에 해결할 수 있어, 더 견고한 유효성 검사 로직을 만들 수 있습니다.