[swift] Swift에서 디렉토리 삭제와 관련된 사용자 입력 검증하기

Swift를 사용하여 디렉토리를 삭제할 때, 사용자가 실수로 오동작을 일으킬 수 있는 경우가 있습니다. 이러한 상황을 방지하기 위해 사용자의 입력을 검증하여 안전하게 디렉토리를 삭제할 수 있도록 해야 합니다. 이번 게시물에서는 Swift에서 디렉토리 삭제와 관련하여 사용자 입력을 유효성 검증하는 방법에 대해 알아보겠습니다.

1. 사용자 입력 받기

먼저, 사용자로부터 삭제할 디렉토리 경로를 입력받아야 합니다. 이를 위해 readLine() 함수를 사용하여 콘솔에서 사용자 입력을 받아옵니다.

print("삭제할 디렉토리 경로를 입력하세요:")
if let dirPath = readLine() {
    // 입력값 사용
} else {
    print("유효한 디렉토리 경로를 입력하세요.")
}

2. 입력값 유효성 검증하기

사용자 입력값의 유효성을 검증하여 올바르지 않은 입력에 대해 사용자에게 알리고 오동작을 방지할 수 있습니다. 디렉토리의 존재 여부를 확인하여 유효성을 검증할 수 있습니다.

let fileManager = FileManager.default
var isDirectory: ObjCBool = false

if fileManager.fileExists(atPath: dirPath, isDirectory: &isDirectory) {
    if isDirectory.boolValue {
        // 디렉토리 삭제 작업 수행
    } else {
        print("입력하신 경로는 디렉토리가 아닙니다.")
    }
} else {
    print("입력하신 경로의 디렉토리가 존재하지 않습니다.")
}

3. 안전한 디렉토리 삭제

유효성 검증을 통과한 경우에만 디렉토리를 삭제하도록 합니다. 이를 위해 removeItem(atPath:) 메서드를 사용하여 디렉토리를 안전하게 삭제할 수 있습니다.

do {
    try fileManager.removeItem(atPath: dirPath)
    print("디렉토리가 성공적으로 삭제되었습니다.")
} catch {
    print("디렉토리 삭제에 실패하였습니다: \(error.localizedDescription)")
}

사용자 입력 값의 유효성을 검증하여 안전하게 디렉토리를 삭제할 수 있도록 하는 것은 애플리케이션의 안정성을 높이는 데 도움이 됩니다. 이를 통해 사용자의 실수로 인한 문제를 줄이고 안전한 프로그램을 만들 수 있습니다.

참고 문헌: Swift FileManager