私はViewController
に細胞を持っています。ユーザがセルの1つをクリックすると、彼は次にid(tableNumber)を持つTableController
に入ります。 TableController
ユーザーはファイルをダウンロードすることができます。フォルダにファイルを保存する
問題:最初のtableView(id1)のファイルをViewControllerで返し、ダウンロードした後に2番目のtableView(id2)ファイルを次のように1つのフォルダに保存すると、/Documents/id2
。しかし、私はこの場合、次のようなファイルを保存する必要があります:最初のファイル/Documents/id1
2番目のファイル/Documents/id2
。どうやってするの? DownloadManager
にIDを渡すTableController
で
コード:、すべてのダウンロードについて
var id = ""
func urlSession(_ session: URLSession,
downloadTask: URLSessionDownloadTask,
didFinishDownloadingTo location: URL){
let fileName = downloadTask.originalRequest?.url?.lastPathComponent
let path = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
let documentDirectoryPath:String = path[0]
let fileManager = FileManager()
var destinationURLForFile = URL(fileURLWithPath: documentDirectoryPath.appending("/\(id)"))
do {
try fileManager.createDirectory(at: destinationURLForFile, withIntermediateDirectories: true, attributes: nil)
destinationURLForFile.appendPathComponent(String(describing: fileName!))
try fileManager.moveItem(at: location, to: destinationURLForFile)
}catch(let error){
print(error)
}
}
@mattを希望
DownloadManager.shared.
使用
DownloadManager()
を使用しないでください。私のファイルは1つのフォルダに保存されます。しかし、ユーザーが複数のファイルをダウンロードするときは、2つのフォルダに保存する必要があります。 –
@matt 1つのフォルダを別のフォルダに保存するのはなぜですか?私は5つのテーブルのIDがありますか?私はテーブルから5つの異なるフォルダ(ID)にファイルを保存する必要があります。 5つの異なるテーブルから5つの異なるファイルをダウンロードすると、ファイルは1つのフォルダ(最後のID)にのみ保存されます。しかし、私は5つの異なるフォルダに保存することにしました。 –