Swiftでのアプリケーション開発をしています.
Documentsフォルダ内に保存されているデータをtable_viewに出力することができています.
その出力したそれぞれのデータを押すとファイルを読み込み,出力したいのですが方法が分かりません.
どのようにすればできるかなど教えていただきたいです.
よろしくお願いいたします.
import UIKit class DataViewController: UIViewController, UITableViewDelegate, UITableViewDataSource{ let directoryPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] var csvFileNames = [String]() override func viewDidLoad() { super.viewDidLoad() getCsvFileNames() } func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { return csvFileNames.count } //tableViewにファイル名の表示 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { let cell: UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath) let csvFileName = csvFileNames[indexPath.row] //表示の.csvの文字を削除 let endIndex = csvFileName.index(csvFileName.endIndex, offsetBy: -4) let truncated = csvFileName.substring(to: endIndex) cell.textLabel!.text = String(truncated) return cell } //タップしたときの処理 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { // タップされたセルの行番号を出力 print("(indexPath.row)番目の行が選択されました。") } //ファイル名の取得 func getCsvFileNames(){ var tmp: [String] { do { return try FileManager.default.contentsOfDirectory(atPath: directoryPath) } catch { //エラーの処理 return [] } } csvFileNames = tmp } //ファイルの削除 func deleteCsvFile(filePath:String){ do { try FileManager.default.removeItem(atPath: filePath) } catch { //エラーの処理 print("Failure to Delete CSV") } } //横スワイプでデータを削除 func tableView(_ tableView: UITableView, commit editingStyle: UITableViewCell.EditingStyle, forRowAt indexPath: IndexPath) { if editingStyle == .delete { let deleteCsvPath = directoryPath + "/" + csvFileNames[indexPath.row] deleteCsvFile(filePath: deleteCsvPath) getCsvFileNames() // call before deleting rows tableView.deleteRows(at: [indexPath], with: .fade) tableView.reloadData() } } //前の画面に戻る @IBAction func Buck_Button(_ sender: Any) { dismiss(animated: true, completion: nil) } }
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。