3

私のアプリケーションでは、NSFileManagerを使用して、次のコードを使用してフォルダー内のファイルの数を取得します

 NSFileManager *manager=[NSFileManager defaultManager];
 NSString *path;
 int numberofFiles=[[manager contentsOfDirectoryAtPath:path error:nil] count];
 numberofFiles=numberofFiles-1; //number of files except .DS_Store

しかし、私の問題は、ファイル.DS_Storeが常にデフォルトで作成されるとは限らないことです。そのとき、そのディレクトリに実際に存在するファイルの数よりも少ない数になります。

したがって、NSFileManagerには、.DS_Storeを除くファイルの配列を返すメソッドがあります。または、-IsEqualToStringメソッドを使用して手動で除外する必要があります。そうでない場合は、.DS_Storeファイルなしで新しいディレクトリを作成するオプションがあります。

4

2 に答える 2

2

ファイルを明示的に探し、.DS_Store見つかった場合はカウントを調整します。

NSFileManager *manager=[NSFileManager defaultManager];
NSString *path = ...;       // Presumably this is a valid path?
NSArray *contents = [manager contentsOfDirectoryAtPath:path error:nil];
NSUInteger numberOfFiles = [contents count];
if ([contents indexOfObject:@".DS_Store"] != NSNotFound)
    numberOfFiles--;
于 2012-11-01T09:41:34.463 に答える