[swift] 디렉토리 이동하기

iOS 및 macOS 애플리케이션에서 파일 시스템 작업을 수행해야 할 때가 있습니다. 이 중에서도 디렉토리 이동은 자주 사용되는 작업입니다. Swift를 사용하여 디렉토리를 이동하는 방법에 대해 알아보겠습니다.

NSFileManager 사용하기

iOS 9부터 NSFileManager는 기존의 FileManager로 대체되었습니다. NSFileManager를 사용하여 디렉토리를 이동하는 방법은 다음과 같습니다.

import Foundation

let fileManager = FileManager.default
let currentPath = fileManager.currentDirectoryPath

let sourcePath = "\(currentPath)/source_directory"
let destinationPath = "\(currentPath)/destination_directory"

do {
    try fileManager.moveItem(atPath: sourcePath, toPath: destinationPath)
    print("디렉토리 이동이 완료되었습니다.")
} catch {
    print("디렉토리 이동 중 에러가 발생했습니다: \(error.localizedDescription)")
}

위의 코드에서 source_directory는 이동할 디렉토리의 경로를 나타내고, destination_directory는 이동한 후의 디렉토리 경로를 나타냅니다. moveItem(atPath:toPath:) 메서드를 사용하여 디렉토리를 이동하고, 에러 처리를 위해 try-catch 구문을 사용합니다.

URL 사용하기

Swift 3 이상에서는 URL을 사용하여 디렉토리를 이동할 수도 있습니다. URL을 사용하는 방법은 다음과 같습니다.

import Foundation

let fileManager = FileManager.default
let currentURL = fileManager.currentDirectoryURL

let sourceURL = currentURL.appendingPathComponent("source_directory")
let destinationURL = currentURL.appendingPathComponent("destination_directory")

do {
    try fileManager.moveItem(at: sourceURL, to: destinationURL)
    print("디렉토리 이동이 완료되었습니다.")
} catch {
    print("디렉토리 이동 중 에러가 발생했습니다: \(error.localizedDescription)")
}

위의 코드에서는 currentDirectoryURL을 사용하여 현재 디렉토리의 URL을 가져옵니다. appendingPathComponent 메서드를 사용하여 소스 및 대상 디렉토리의 URL을 만들고, moveItem(at:to:) 메서드를 사용하여 디렉토리를 이동시킵니다.

참고 자료