最初に=私はすでにここの前にこれを一度尋ねようとしたので謝罪します
私はこれに本当に苦労しています:
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath
{
if (editingStyle == UITableViewCellEditingStyleDelete)
{
// Delete the row from the data source.
[_mainTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:indexPath] withRowAnimation:UITableViewRowAnimationFade];
}
}
上記のコードを使用することで、UITableViewに表示されている配列からエントリを削除できることがわかります。ただし、ユーザーがダウンロードした不要なファイルをドキュメントディレクトリから削除したいと考えています。
今、私はその間に、そしてこのコードをさらに検索した後:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectoryPath = [paths objectAtIndex:0];
NSString *file = [[NSString alloc] init];
for(int i=0; i<[paths count]; i++)
{
file = [documentsDirectoryPath stringByAppendingFormat:@"/%@",_fileArray];
NSLog(@"%@", file);
}
NSFileManager *fileManager = [NSFileManager defaultManager];
[fileManager removeItemAtPath:file error:NULL];
コンソールのアレイにあるすべてのファイルとこのコードを一覧表示できます。
- (void)removeFile:(NSString*)fileName {
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *fullPath = [documentsDirectory stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.mp3", fileName]];
[fileManager removeItemAtPath: fullPath error:NULL];
NSLog(@"image removed");
}
と一緒に:[self removeFile: _filename];
特定のファイルを削除することができます。
だから私は前進している。しかし、ユーザーがファイルをスワイプして削除できるようになると、私は本当に行き詰まります。もちろん、ディレクトリにどのファイルが含まれるかはわかりません。
第二に-すべてのファイルが削除された後、tableViewをロードできるようにするにはどうすればよいですか? このコードを使用してそれを行う場合:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
if ([paths count] > 0)
{
NSLog(@"Path: %@", [paths objectAtIndex:0]);
NSError *error = nil;
NSFileManager *fileManager = [NSFileManager defaultManager];
// Remove Documents directory and all the files
BOOL deleted = [fileManager removeItemAtPath:[paths objectAtIndex:0] error:&error];
}
終了エラーが発生します。これは、ディレクトリも削除されたためだと思います。
ここに少しコードがあることは知っていますが、誰かがこれを案内してくれることを本当に望んでいます:-)