1

私はiOSの初心者です。私は問題があります。

ファイルのパスをログに記録し、Finder でも確認します。しかし、fileExistsAtPath: が NO を返すため、削除できません。

助けてください!!

コードは次のとおりです。

+ (void)removeImage:(NSString*)imgName {
MyLog(@"%@", [Tool getFileFullPath:imgName]);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
BOOL fileExists = [fileManager fileExistsAtPath:(NSString *)[Tool getFileFullPath:imgName]];
NSLog(@"Path to file: %@", [Tool getFileFullPath:imgName]);        
NSLog(@"File exists: %d", fileExists);
NSLog(@"Is deletable file at path: %d", [fileManager isDeletableFileAtPath:[Tool getFileFullPath:imgName]]);
if (fileExists) 
{
    BOOL success = [fileManager removeItemAtPath:[Tool getFileFullPath:imgName] error:&error];
    if (!success) NSLog(@"Error: %@", [error localizedDescription]);
}

}

ファイルへのパス:/Users/vibolteav/Library/Application Support/iPhone Simulator/5.1/Applications/FD57CA70-14E4-442D-9CA5-DE7A7AD56A93/Documents/img/2053871632

ファイルが存在しています:0

次のパスにある削除可能なファイル:1

4

2 に答える 2

1

ドキュメント パス..

   NSArray *searchPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);

   documentPath_ = [searchPaths objectAtIndex: 0];

ファイル名を追加...

  NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:fileName];

   NSFileManager *fileManager = [NSFileManager defaultManager];

    if ([fileManager fileExistsAtPath:fullPath]) 
       {
           NSError *error;

           if (![fileManager removeItemAtPath:fullPath error:&error]) {

           }
       }
于 2012-08-27T05:38:21.717 に答える
1

ドキュメント ディレクトリからファイルを削除するには、以下のコードを使用します。

 -(void)removeOneImage:(NSString*)fileName
{
    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:fileName];
    NSLog(@"%@",fullPath);
    [fileManager removeItemAtPath: fullPath error:NULL];

}

于 2012-08-27T05:13:29.520 に答える