[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:)
메서드를 사용하여 디렉토리를 이동시킵니다.