web-dev-qa-db-ja.com

ファイルobj cを削除

次のコードでファイルを作成しています

NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filename = @"xyz123.data";
docPath = [NSString stringWithFormat:@"%@/%@", docPath, filename];

NSError *error = nil;
[data writeToFile:docPath options:0 error:&error];

ファイルを削除するには、以下を使用します

NSFileManager *manager = [NSFileManager defaultManager];

NSError *error = nil;

NSString *path = @"xyz123.data";
//NSString *path = @"Documents/xyz123.data";
[manager path error:&error];

しかし、最初のパスも2番目のパスも機能していないようで、常に「そのようなファイルやディレクトリはありません」というエラーが表示されます。

22
Marc

ファイルの作成でNSHomeDirectory() stringByAppendingPathComponentを使用しましたが、ファイルを削除しようとしたときにどちらのパスでも使用していませんでした。試してください:

[manager removeItemAtPath:[NSHomeDirectory() stringByAppendingPathComponent:@"Documents/xyz123.data"] error:&error]
43
Aaron Golden

これを試して:

NSString *docPath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
NSString *filePath = [docPath stringByAppendingPathComponent:@"xyz123.data"];
NSError *error = nil;
[data writeToFile:filePath options:0 error:&error];
[[NSFileManager defaultManager] removeItemAtPath:filePath error:&error];
23
Sergey Kuryanov