Documentsディレクトリ(または他の同様のディレクトリ)にアクセスするための標準的な方法は、次のようなコードです。
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = paths[0];
これは次のことと似ています。
NSArray *URLs = [[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSURL *documentsURL = URLs[0];
主な違いは、最初のパスはNSString
しばらくの間、2番目のパスはパスを提供することですNSURL
。
他の方法は、次のようにして使用できます。
NSURL *documentsURL = [[NSFileManager defaultManager] URLForDirectory:NSDocumentDirectory inDomain:NSUserDomainMask appropriateForURL:nil create:NO error:nil];
NO
Documentsディレクトリは常に存在するため、渡すことができます。YES
デフォルトでは存在しないため、アプリケーションサポートディレクトリを渡す必要があります。そして理想的にはnil
、メソッド呼び出しがを返した場合に何が起こったかを確認できるように、エラーを渡さないでくださいnil
。
これらの3つのアプローチのいずれも機能します。パスを文字列にする場合は、1番目を使用します。URLとして使用する場合は、3番目を使用します。複数のドメインを渡す必要がまれにある場合は、2番目を使用します。