2011-06-23 8 views
0

私はzipファイルをDocumentsディレクトリ( 'dir'とそのコンテンツが正しく作成されています)の下の 'extract'ディレクトリに解凍しています。それから、ファイルやディレクトリの場合は、新しいディレクトリ内の各アイテムにいくつかのことを行います。 NSFileManagerのメソッドcontentsOfDirectoryAtPathを使用します。
問題は配列extractedItemsが常にnullを返し、私が何を間違っているのか分からないということです。contentsOfDirectoryAtPathを持つディレクトリ内のすべてのファイル/ディレクトリを取得する際の問題

NSString *dirnameForUnzippedData = [[NSString alloc] initWithString:@"extract"]; 
NSString *dirpath = [documentsDirectory stringByAppendingPathComponent:dirnameForUnzippedData]; 

NSFileManager *fileManager = [NSFileManager defaultManager]; 
NSArray *extractedItems = [fileManager contentsOfDirectoryAtPath:dirnameForUnzippedData error:NULL]; 

for (NSString *item in extractedItems) { ... } 

答えて

0

あなたは間違った経路を探しているようです。あなたのコードはdirpath(またはdocumentsDirectory)を使用していません。

補足として、完了したらrelease dirnameForUnzippedDataを忘れないでください。または、alloc/initの代わりにdirnameForUnzippedData = @"extract";を実行してください。

+0

ありがとう、栄子。あなたが正しい。これは 'NSArray * extractedItems = [fileManager contentsOfDirectoryAtPath:dirpathエラー:NULL];'である必要があります。返されたdirの項目がdirかファイルかどうかを確認するには、 '[fileManager fileExistsAtPath:itemAbsolutePath isDirectory:&isDir]'を使用しますか? – Sefran

+0

@ Objnewbieはい、これは妥当と思われます。 – Eiko

関連する問題