質問

私はUDPでマルチキャストソケットを経由して、それに送られるのiPod touch / iPhoneにデータを読み込み、アプリケーションを設計していると私は、ドキュメントディレクトリ内のファイルとして保存する必要があります。 iPhoneやiPod Touchで上に存在しないこと?私は読書の世話をするために、使用して、ファイルへの書き込みを計画するものですNSFileHandleとNSFileManagerがあるけど、私はあなたが何を私を知っていればiPod touchのの「マイドキュメント」セクションがどこにあるかわからないんだけど「と言っメートル。私はまだよく、その任意のヘルプは高く評価されてのiPod / iPhoneのファイルのディレクトリに精通していませんよ!彼らはいずれかの自分のアプリケーションに関与している場合には、すべての開発者が自分のファイルを格納するために使用し、「一般」ディレクトリのいくつかの種類がありますか?

役に立ちましたか?

解決

あなたは永続的なファイルを格納するために、アプリケーションのDocumentsディレクトリを使用する必要があります。あなたは、Appleがコアデータを使用してアプリケーションのための彼らのテンプレートに含まれるこの機能を使用してディレクトリへのパスを取得することができます:

/**
 Returns the path to the application's documents directory.
 */
- (NSString *)applicationDocumentsDirectory {

    NSArray *paths = 
      NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *basePath = ([paths count] > 0) ? [paths objectAtIndex:0] : nil;
    return basePath;
}

他のヒント

さらに最近では、コアデータアプリケーションのためのテンプレートは、このようなコードを提供しています:

- (NSString *)applicationDocumentsDirectory {
    return [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
}
NSSearchPathForDirectoriesInDomainsから返さにNSArrayが空である場合、結果として、コードが短くかつクリーンであるので、

、lastObjectは、nilを返します。

あなたが知っておくべき一つのこと - のiOS 5のように、あなたはDocumentsディレクトリに非ユーザー生成データを置くべきではありません。アプリは拒否することができます。代わりに、あなたはCachesディレクトリに、このようなログを置くことを考えなければなりません。この1のパスを取得するには、上記の例のコードではNSDocumentDirectoryNSCachesDirectoryを交換する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top