代码之家  ›  专栏  ›  技术社区  ›  Lyres

在Swift Playwood中写入文件时出错

  •  2
  • Lyres  · 技术社区  · 7 年前

    不知道为什么我会在这里出错。我按照指示在文档中创建了“共享游乐场数据”文件夹。有人有什么见解吗?

    import PlaygroundSupport
    import Foundation
    
    var fileName = "Csv.csv"
    var csvText = "Date,Task,Time Started,Time Ended\n"
    fileName.append(csvText)
    
    let fileUrl = playgroundSharedDataDirectory.appendingPathComponent(fileName)
    do {
    try fileName.write(to: fileUrl, atomically: true, encoding: .utf8)
    } catch {print("error")}
    
    2 回复  |  直到 7 年前
        1
  •  6
  •   rmaddy    7 年前

    你的代码毫无意义。为什么要将列标题附加到文件名?你为什么要写 fileName fileUrl ?

    您可能需要以下内容:

    let fileName = "Csv.csv"
    let csvText = "Date,Task,Time Started,Time Ended\n"
    
    let fileUrl = playgroundSharedDataDirectory.appendingPathComponent(fileName)
    do {
        try csvText.write(to: fileUrl, atomically: true, encoding: .utf8)
    } catch {
        print(error)
    }
    
        2
  •  0
  •   William Grand Shital Shah    4 年前

    我不知道是哪个Xcode导致了这个错误,但是 playgroundSharedDataDirectory Xcode 13 beta 2上的操场找不到目录,请执行以下操作:

    Swift 5版本

    let docDirectory = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)[0]
    let fileName = "Csv.csv"
    let outputFileUrl = docDirectory.appendingPathComponent(fileName)
    
    let csvText = "Date,Task,Time Started,Time Ended\n"
    
    do {
      try csvText.write(to: outputFileUrl, atomically: true, encoding: .utf8)
    } catch {
      print (error)
    }