2010-09-05 57 views
0

我想壓縮文件到我的iPhone應用程序中的子文件夾。文檔文件夾中的NSFileManager

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"];  ? 

THKS預先

回答

1

沒有-removeItemAtPath:handler:方法。您需要改爲-removeItemAtPath:error:

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]; 
} 

這樣的文件夾爲空