#author("2016-06-27T22:59:27+00:00","default:nitta","nitta")
#author("2016-06-27T23:12:25+00:00","default:nitta","nitta")
[[iOS]]

*iOS におけるデータファイルの格納について [#b4cc4d81]

**ファイルの置き場所について (/Documents, /tmp, /Library/Cache) [#oa8078af]

iOS Storage Guideline
https://developer.apple.com/icloud/documentation/data-storage/index.html

- ユーザが残したいファイルは /Documents に置く。永続的に存在し続け、iCloud にもバックアップされる。
- 一時的なファイルは /tmp におく。自分で消さない限り永続的に存在し続けるが、iCloudにはバックアップされない。
- 自動的に消されてもよいデータは /Library/Caches におく。勝手に消されることがあるし、iCloudにはバックアップされない。

**ファイル操作 NSFileManager [#wf98842e]

 let manager = NSFileManager

 manager.copyItemAtPath(srcPath, toPath: toPath, error: nil)  // コピーする
 manager.moveItemAtPath(srcPath, toPath: toPath, error: nil)  // 移動する
 manager.removeItemAtPath(filePath, error: nil)               // 削除する
 var flag:Bool = manager.fileExistsAtPath(path)              // ファイルの存在をチェックする
 var isDir: ObjCBool
 var isDir: ObjCBool = false
 flag = manager.fileExistsAtPath(path,isDirectory: &isDir)         // isDirはディレクトリかどうか
 if (flag && Bool(isDir)) {
   ...
 }
 manager.createDirectoryAtPath(path, withIntermediateDirectories: true, attributes: nil)  // ディレクトリの作成
**アプリケーション固有ストレージにあるファイルの削除 [#of527c90]
 let fileName: String = ...
 
 let homePath: String = NSHomeDirector()
 let docPath: String = homePath.stringByAppendingPathComponent("Documents")
 let filePath: String = docPath + "/" + fileName;
 let manager: NSFileManager = NSFileManager.defaultManager()
 do {
   try manager.removeItemAtPath(filePath)
 } catch _ {
   /* エラー処理 */
 }

** 指定したディレクトリ下の全てのファイルにを操作する [#ta49b3ab]

 var files: [String] = []
 let homePath: String = NSHomeDirector()
 let docPath: String = homePath + "Documents"
 let manager: NSFileManager = NSFileManager.defaultManager()
 do {
   let paths = try manager.contentsOfDirectoryAtPath(homePath)
   for path in paths {
     print("path = \(path)"
   }
   ...
 } catch let error as NSError {
   print("error \(error)")
 } catch _ {
   print("error???")
 }

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS