[swift] Swift 사용자 입력 처리

Swift에서 사용자로부터 입력을 받아 처리하는 방법에 대해 알아보겠습니다.

1. 사용자로부터 입력 받기

Swift에서 사용자로부터 입력을 받기 위해서는 readLine() 함수를 사용합니다. 이 함수는 사용자로부터 입력된 값을 문자열로 반환합니다.

let input = readLine()
print("입력받은 값은: \(input ?? "")")

위의 예제에서는 readLine() 함수를 호출하여 사용자로부터 입력을 받은 후, input 변수에 할당합니다. 그리고 입력받은 값을 출력할 때에는 옵셔널 체이닝을 이용하여 nil일 경우에는 빈 문자열을 출력하도록 처리하였습니다.

2. 사용자로부터 입력 받은 값의 형 변환

readLine() 함수는 사용자로부터 입력을 받을 때 항상 문자열로 반환합니다. 때문에 만약 입력받은 값을 숫자로 사용해야 한다면, 해당 값을 숫자형으로 변환해주어야 합니다.

let input = readLine()
let number = Int(input ?? "") ?? 0
print("입력받은 숫자는: \(number)")

위의 예제에서는 입력받은 값을 Int() 함수를 이용하여 Int 타입으로 변환하였습니다. 이때 Int() 함수는 옵셔널 체이닝을 사용하여 nil일 경우에는 0으로 반환하도록 처리하였습니다.

3. 입력값 검증하기

사용자 입력을 받을 때에는 입력값의 유효성을 검증해야 하는 경우가 많습니다. 이를 위해서는 조건문을 이용하여 해당 조건을 만족하지 않을 경우에는 다시 입력을 요구할 수 있습니다.

var input: String?

repeat {
  print("숫자를 입력하세요:")
  input = readLine()
  let number = Int(input ?? "") ?? 0
  if number <= 0 {
    print("잘못된 입력입니다. 0보다 큰 숫자를 입력해주세요.")
  }
} while (input == nil || Int(input ?? "") ?? 0 <= 0)

print("입력받은 숫자는: \(Int(input ?? "") ?? 0)")

위의 예제에서는 입력받은 값이 0보다 작거나 같은 경우에는 잘못된 입력으로 처리하여 다시 입력을 요구하는 과정을 반복합니다. 올바른 입력이 들어올 때까지 계속해서 입력을 받습니다.

참고 자료