[swift] Swift에서 파일 삭제 후에 되돌리기 기능 구현 방법

파일 시스템에서 파일을 삭제한 후에 되돌리는 기능은 사용자에게 유용한 기능이며, Swift 애플리케이션에서 이 기능을 구현하는 방법을 알아보겠습니다.

1. 삭제하기 전에 파일을 보관

파일을 삭제하기 전에 삭제된 파일을 복원할 수 있는 위치에 임시로 보관합니다. 이를 위해 삭제하기 전 파일의 내용을 읽어와야 하므로 파일의 백업이 필요합니다.

import Foundation

func backupFile(atPath path: String, toBackupDirectory backupDirectory: URL) throws -> URL {
    let fileURL = URL(fileURLWithPath: path)
    let backupURL = backupDirectory.appendingPathComponent(fileURL.lastPathComponent)

    let fileManager = FileManager.default
    if !fileManager.fileExists(atPath: backupDirectory.path) {
        try fileManager.createDirectory(at: backupDirectory, withIntermediateDirectories: true, attributes: nil)
    }

    try fileManager.copyItem(at: fileURL, to: backupURL)

    return backupURL
}

2. 파일 삭제 후 복원

파일을 삭제한 후에 사용자가 파일을 되돌리길 원할 경우, 백업된 파일을 다시 원래 위치로 이동시킵니다.

func restoreFile(fromBackup backupURL: URL, toPath path: String) throws {
    let fileURL = URL(fileURLWithPath: path)

    let fileManager = FileManager.default
    if fileManager.fileExists(atPath: path) {
        try fileManager.removeItem(at: fileURL)
    }

    try fileManager.copyItem(at: backupURL, to: fileURL)
}

이제 파일 삭제 후 되돌리기 기능을 구현했습니다. 유의할 점은 파일 삭제 시 보관 위치를 정확히 저장하고 백업된 파일을 올바르게 복원하는 것입니다.

이러한 접근 방식을 통해 Swift 애플리케이션에서 파일 삭제 후 되돌리기 기능을 구현할 수 있습니다.

레퍼런스: