0

iPhone アプリのサブフォルダーにファイルを圧縮しようとしています。

 NSArray *path = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
  NSString *dir = [path objectAtIndex:0];

             NSString *storeunzipfiles = [dir stringByAppendingPathComponent:@"/MyFolder"]; 
 if (![[NSFileManager defaultManager] fileExistsAtPath:storeunzipfiles])
   [[NSFileManager defaultManager] createDirectoryAtPath:storeunzipfiles attributes:nil]; //Create folder

さて、フォルダを作成しました。私がやりたいことは、ファイルを解凍する前に、フォルダー内のすべてのファイルを削除することです。しかし、私はそれを取得していません。

        NSFileManager *filemgr;


           filemgr = [NSFileManager defaultManager];

           [filemgr removeItemAtPath: @"/MyFolder" handler: nil];

   // warning: 'NSFileManager' may not respond to '-removeItemAtPath:handler:'

      }     

      }

最後に、サブフォルダーに解凍します。

   if ([zip UnzipFileTo:storeunzipfiles overWrite:YES]) {...

わかりました、警告メッセージが表示されました...

サブフォルダにファイルをロードする方法は何ですか? これは正しいですか?

NSString *docpath = [documentsDirectory stringByAppendingPathComponent:@"/MyFolder/Data.plist"];     ?

よろしくお願いします

4

2 に答える 2

1

方法はありません-removeItemAtPath:handler:-removeItemAtPath:error:代わりに欲しい。

于 2010-09-05T19:50:29.277 に答える
0

いいえ、

メソッドを使用できます

- (NSArray *)contentsOfDirectoryAtPath:(NSString *)path error:(NSError **)error

これは、指定されたフォルダーに含まれるファイルの名前を含む NSarray オブジェクトを返します。その後、簡単に取り外すことができます。例

NSarray *array=[filemanager contentsOfDirectoryAtPath:@"/MyFolder" error:nil];
for(int i=0;i<[array count];i++)
{
    [filemanager removeItemAtPath:[@"/MyFolder" stringByAppendingPathComponent:[array objectAtIndex:i]] error:nil];
}

そのため、フォルダは空になります

于 2010-09-05T19:54:27.610 に答える