在 Swift 游乐场写入文件时出错

Error writing a file in Swift Playground

不确定为什么会出现此错误。我按照指示在文档中创建了文件夹'Shared Playground Data'。有没有人有任何见解?

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")}

你的代码毫无意义。为什么要将列标题附加到文件名?还有为什么要把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)
}

我不知道是哪个 Xcode 引入了这个错误,但是 Xcode 13 beta 2 上的 Playgrounds 无法找到 playgroundSharedDataDirectory 目录,因此,改为执行以下操作:

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)
}