[swift] 데이터 변환 에러

Swift에서 데이터 변환 작업을 수행할 때 종종 데이터 변환 에러가 발생할 수 있습니다. 이러한 에러는 주로 데이터 타입의 불일치나 값이 잘못된 형식일 경우에 발생합니다. 이 문제를 해결하기 위해서는 적절한 데이터 변환 방법을 사용해야 합니다.

1. 데이터 타입 변환

Swift에서는 다양한 데이터 타입 변환 방법이 제공됩니다. 다음은 몇 가지 예시입니다.

1.1 문자열을 정수로 변환하기

문자열을 정수로 변환하기 위해서는 Int() 함수를 사용합니다. 다음은 예시 코드입니다.

let numString = "123"
if let num = Int(numString) {
    print(num) // 출력: 123
} else {
    print("변환 실패")
}

1.2 정수를 문자열로 변환하기

정수를 문자열로 변환하기 위해서는 String() 함수를 사용합니다. 다음은 예시 코드입니다.

let num = 123
let numString = String(num)
print(numString) // 출력: "123"

2. 데이터 형식 검사

데이터 타입 변환 작업을 수행하기 전에 입력 데이터의 형식을 검사하는 것이 좋습니다. 이를 위해 if let 구문이나 guard 구문을 사용할 수 있습니다. 다음은 예시 코드입니다.

let input = "abc"
if let num = Int(input) {
    print(num)
} else {
    print("잘못된 형식입니다.")
}

// 출력: "잘못된 형식입니다."

3. 에러 처리

데이터 변환 작업 중에 발생하는 에러를 처리하는 것도 중요한 부분입니다. 이를 위해 do-catch 문을 사용하여 예외를 처리할 수 있습니다.

func convertToInt(input: String) throws -> Int {
    guard let num = Int(input) else {
        throw NSError(domain: "com.example", code: 1, userInfo: ["message": "잘못된 형식입니다."])
    }
    return num
}

do {
    let input = "abc"
    let num = try convertToInt(input: input)
    print(num)
} catch {
    print("에러 발생: \(error)")
}

// 출력: "에러 발생: Error Domain=com.example Code=1 "잘못된 형식입니다." UserInfo={message=잘못된 형식입니다.}"

위의 예시에서는 convertToInt(input:) 함수에서 Int() 함수로의 변환에 실패할 경우 throw 구문을 사용하여 예외를 발생시킵니다. 이 예외는 do-catch 문에서 처리되고, 에러 메시지가 출력됩니다.

4. 참고 자료