INDEX>Foundation> NSDirectoryEnumerator
解説
継承 | NSEnumerator : NSObject |
準拠 | NSFastEnumerator (NSEnumerator) |
準拠 | NSObject (NSObject) |
フレームワーク | /System/Library/Frameworks/Foundation.framework |
使用可能 | Mac OS X v10.0以降,iOS 2.0以降 |
定義 | NSFileManager.h |
概要
ディレクトリに含まれるすべてのファイルとディレクトリのパス名を返します
ディレクトリに含まれるファイルとディレクトリを列挙するオブジェクトです。
NSFileManagerで指定したディレクトリのパスを起点としてそのディレクトリ内にあるファイルとディレクトリを列挙します。NSEnumeratorのサブクラスですのでNSEnumeratorと同じように使うことができます。
ファイルやディレクトリの属性を取得
指定したディレクトリの属性を取得するには(– directoryAttributes)メソッドを使用します。
現在のファイルの属性を取得するには(– fileAttributes)メソッドを使用します。
現在の階層を取得するには(– level)メソッドを使用します。
サブディレクトリをスキップ
サブディレクトリの繰り返しをスキップするには(– skipDescendents)メソッドを使用します。
-(void)method001 { NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *docDirectory = NSHomeDirectory(); NSDirectoryEnumerator *files = [fileManager enumeratorAtPath:docDirectory]; NSLog(@"start %@",[files directoryAttributes]); id obj; while (obj = [files nextObject]) { //NSLog(@"value: %@ %d %@", obj,[files level],[files fileAttributes]); NSLog(@"value: %@ %d", obj,[files level]); //階層が3になったら上の階層に戻る if ([files level]>2) { [files skipDescendants]; } } }