1

サブディレクトリを含む、ディレクトリ内のファイル全体をカウントしようとしています。これは私が最初のフォルダのファイルを数えなければならないものです:

-(NSString *)numberOfPhotos
{
    NSString *MyPath = @"/rootdirectory/"; 
    NSArray *directoryContent = [[NSFileManager defaultManager] directoryContentsAtPath:MyPath]; 

    return [NSString stringWithFormat:@"%d", [directoryContent count]];
}

多分次のようなことを考えていました

for (file in folder){
    [file count]
{

しかし、うまくいかないようです。

更新: 実際、非常に簡単でした:

NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
4

3 に答える 3

5
NSDirectoryEnumerator *subs = [[NSFileManager defaultManager] subpathsOfDirectoryAtPath:musicPath error:nil];
于 2010-05-20T15:48:09.970 に答える
3

あなたは正しい軌道に乗っています。再帰的な方法が必要です。ディレクトリを渡すと、メソッドはディレクトリ内のすべてのファイルを取得し、各ファイルをチェックしてディレクトリかどうかを確認します。ここでは、現在のオブジェクトがディレクトリかどうかを確認するための for ループがあります。ディレクトリの場合は、ディレクトリ名で自分自身を呼び出します。そうでない場合は、カウンターを 1 つ増やして続行します。

現在コードを投稿することはできませんが、それがあなたのやり方です。

于 2010-05-15T00:24:59.700 に答える
1

iPad キーボードを使用してコードを記述できるかどうかを確認してください...疑似コードを使用して再帰アルゴリズムを説明します。

int fileCount(directory)
{
    int count = 0;
    for (file in directory)
    {
        if (isDirectory(file))
            count += fileCount(file);
        else
            count++;
    }
    return count;
}                
于 2010-05-15T16:58:04.917 に答える