[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
문에서 처리되고, 에러 메시지가 출력됩니다.