Swift:
一時ファイルの作成

How to: (方法:)

Swiftでは、FileManagerを使って一時ファイルを簡単に作成できます。

import Foundation

func createTemporaryFile(prefix: String) -> URL? {
    let temporaryDirectoryURL = URL(fileURLWithPath: NSTemporaryDirectory(), isDirectory: true)
    let fileName = "\(prefix)_\(UUID().uuidString).tmp"
    let temporaryFileURL = temporaryDirectoryURL.appendingPathComponent(fileName)
    
    do {
        try "Temporary data".write(to: temporaryFileURL, atomically: true, encoding: .utf8)
        print("Temporary file created: \(temporaryFileURL.path)")
        return temporaryFileURL
    } catch {
        print("Failed to create temporary file: \(error)")
        return nil
    }
}

// Example usage
if let tempFileURL = createTemporaryFile(prefix: "example") {
    // Use the temporary file, then delete it
    try? FileManager.default.removeItem(at: tempFileURL)
}

サンプル出力:

Temporary file created: /tmp/example_DBA1BC2C-1B77-4F2B-A6F5-426EAF5DDF53.tmp

Deep Dive (詳細解説)

一時ファイルの概念はUNIX系のシステムで遠い昔からあります。/tmpディレクトリは短期間のファイル保管場所として使用されます。Swiftにおける一時ファイルの実装方法は、Foundationフレームワークに由来しています。FileManager以外にも、mkstempのような低レベルのC言語APIを使うこともできますが、SwiftではFileManagerの方が扱いやすいでしょう。重要なのは、一時ファイルを使い終わったら削除すること、システムの一時ディレクトリを汚さないようにすることです。

See Also (関連情報)