Sunday, April 21, 2013

NSFileManager createDirectoryAtURL example ios


createDirectoryAtURL :withIntermediateDirectories:attributes:error:

Creates a directory with the given attributes at the specified URL.
- (BOOL)createDirectoryAtURL:(NSURL *)url withIntermediateDirectories:(BOOL)createIntermediates attributes:(NSDictionary *)attributes error:(NSError **)error
Parameters
url
A file URL that specifies the directory to create. If you want to specify a relative path, you must set the current working directory before creating the corresponding NSURL object. This parameter must not benil.
createIntermediates
If YES, this method creates any non-existent parent directories as part of creating the directory in url. IfNO, this method fails if any of the intermediate parent directories does not exist.
attributes
The file attributes for the new directory. You can set the owner and group numbers, file permissions, and modification date. If you specify nil for this parameter, the directory is created according to theumask(2) OS X Developer Tools Manual Page of the process. The “Constants” section lists the global constants used as keys in the attributes dictionary. Some of the keys, such asNSFileHFSCreatorCode and NSFileHFSTypeCode, do not apply to directories.
[NSFileManager createDirectoryAtURL]
error
On input, a pointer to an error object. If an error occurs, this pointer is set to an actual error object containing the error information. You may specify nil for this parameter if you do not want the error information.
Return Value
YES if the directory was created, YES if createIntermediates is set and the directory already exists), orNO if an error occurred.
Discussion of [NSFileManager createDirectoryAtURL]
If you specify nil for the attributes parameter, this method uses a default set of values for the owner, group, and permissions of any newly created directories in the path. Similarly, if you omit a specific attribute, the default value is used. The default values for newly created directories are as follows:
  • Permissions are set according to the umask of the current process. For more information, see umask.
  • The owner ID is set to the effective user ID of the process.
  • The group ID is set to that of the parent directory.
If you want to specify a relative path for url, you must set the current working directory before creating the corresponding NSURL object.
Example of [NSFileManager createDirectoryAtURL]

NSFileManager *manager = [NSFileManager defaultManager];

NSURL *backup = [self applicationDocumentsDirectory];
backup = [backup URLByAppendingPathComponent:@"Old_Data_File"];

[manager createDirectoryAtURL:backup withIntermediateDirectories:YES attributes:nil error:nil];