Contents

enumerator(atPath:)

Returns a directory enumerator object that can be used to perform a deep enumeration of the directory at the specified path.

Declaration

func enumerator(atPath path: String) -> FileManager.DirectoryEnumerator?

Parameters

  • path:

    The path of the directory to enumerate.

Return Value

A FileManager.DirectoryEnumerator object that enumerates the contents of the directory at path.

Discussion

If path is a filename, the method returns an enumerator object that enumerates no files—the first call to nextObject() will return nil.

Because the enumeration is deep—that is, it lists the contents of all subdirectories—this enumerator object is useful for performing actions that involve large file-system subtrees. This method does not resolve symbolic links encountered in the traversal process, nor does it recurse through them if they point to a directory.

This code fragment enumerates the subdirectories and files under a user’s Documents directory and processes all files with an extension of .doc:

NSString *docsDir = [NSHomeDirectory() stringByAppendingPathComponent:  @"Documents"];
NSFileManager *localFileManager=[[NSFileManager alloc] init];
NSDirectoryEnumerator *dirEnum =
    [localFileManager enumeratorAtPath:docsDir];
 
NSString *file;
while ((file = [dirEnum nextObject])) {
    if ([[file pathExtension] isEqualToString: @"doc"]) {
        // process the document
        [self scanDocument: [docsDir stringByAppendingPathComponent:file]];
    }
}

The FileManager.DirectoryEnumerator class has methods for obtaining the attributes of the existing path and of the parent directory and for skipping descendants of the existing path.

See Also

Related Documentation

Discovering directory contents