2011-03-10 16 views
1

iphoneにファイルを保存する正しい/最良の方法は何ですか?iphoneにファイルを保存し、URLでファイルを取得する正しい方法

私はiPhoneのいくつかのディレクトリにファイルを保存したいと思います。私はそれがユーザーのホームディレクトリが良い練習ではないことを読んでいる。

ファイルはどこに保存する必要がありますか、これらのファイルのURLもどのように保存できますか?そのため、ユーザーの電話に多数のファイルを保存した後、URLを保存して後でファイルを管理できるようにします。

私は、ファイルを保存し、そのハンドルをファイルに保存し、これらのハンドルをデータ構造に保存し、後でそのファイルをアクセスして削除できるようにデータ構造内のURLを使用して取得したいとします。

これを行う正しい/最適な方法は何でしょうか?

+0

保存する情報の種類に応じて、最適なディレクトリを選択する必要があります。私の[回答](http://stackoverflow.com/a/12472910/991816) – DanSkeel

答えて

-2

ファイルは、アプリケーションのDocumentsフォルダに保存されます。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
[paths lastObject]; 

がドキュメントパスを取得します。

次に、とNSKeyedUnarchiverを使用してURLSを保存し、それをドキュメントに入れます。

ドキュメントディレクトリの内容を確認するにはNSFileManagercontentsOfDirectoryAtPath:error:メソッドを使用してください。これは便利なNSArrayを返します。 lastObjectに電話をしてください。

更新:彼らはプレースメントリストの基本的な対象ではありませんよう NSURLは、NSKeyedArchiverNSKeyedUnarchiverでエンコードおよびデコードする必要があります。それらを文字列に変換することはできますが、それは[array writeToFile:file atomically:YES]です。もう1つのオプションはCoreDataですが、それは多少あるかもしれません。

すべてのURLを1つのファイルに保存し、上書きするだけで、URLを削除して追加するときに変更することをお勧めします。

あなたはユーザーのドキュメントディレクトリを満たしていないため、アプリケーションのドキュメントディレクトリを満たしています。ドキュメントフォルダは、ユーザーが作成したファイル以外の場所です。将来的には、DocumentディレクトリをiTunesに開いて、ファイルをそのように追加したり削除したりすることができます。アプリに関連するものは、ライブラリフォルダに保存する必要があります。

これは、私が少し上手くなれていたことを説明してくれることを願っています。 URLを個別のファイルとして保存し、そのハンドルを保存するだけの印象を受けたようです。あなたはハンドルを取得することができますが、すべてを格納しているディレクトリを知っているだけです。そのフォルダ内のファイルの配列を取得し、NSDictionaryまたはNSArrayからunarchiverまたはinitWithFileContents:を使用してロードしてください。

+0

ありがとう。最後のオブジェクトのURLはどのように取得されますか? – jarryd

+0

URLを取得し、保存しないでください。私はディレクトリからオブジェクトを削除できるようにURLを取得したい。 – jarryd

+0

'NSFileManager subpathsAtPath:'と 'stringByAppendingPathComponent:'をsupbathに使用してURLを取得します。 – NebulaFox

関連する問題