Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 创建空文件_Swift_Macos_File - Fatal编程技术网

Swift 创建空文件

Swift 创建空文件,swift,macos,file,Swift,Macos,File,如何用尽可能少的代码行创建Swift代码中的空文件,最好避免使用终端?我使用的是Swift 4、Xcode 9.4.1和macOS High Sierra。 我已经尝试使用终端运行Bash代码,请参阅我的帖子 编辑: 这个被标记为重复的问题是关于终端的,我现在试图避免,阅读这个问题(我写的),看看为什么 编辑2: 如果文件已经存在,我希望代码向用户发出一个错误,代码将使用NSTextField或UILabel显示它 提前谢谢 使用链接问题中的脚本,尝试: shell("touch fi

如何用尽可能少的代码行创建Swift代码中的空文件,最好避免使用终端?我使用的是Swift 4、Xcode 9.4.1和macOS High Sierra。 我已经尝试使用终端运行Bash代码,请参阅我的帖子

编辑:
这个被标记为重复的问题是关于终端的,我现在试图避免,阅读这个问题(我写的),看看为什么

编辑2:
如果文件已经存在,我希望代码向用户发出一个错误,代码将使用NSTextField或UILabel显示它


提前谢谢 使用链接问题中的脚本,尝试:

shell("touch file.txt")
命令
touch
将创建文件
file.txt

您不需要终端来执行任何操作,只需运行
.swift
文件,即可获得您的文件

如果您需要写入文件,只需使用以下内容:

let url = URL(fileURLWithPath: "file.txt")
try "Some string".write(to: url, atomically: true, encoding: .utf8)
您的文件
file.txt
将包含字符串“Some string”

更新

AFAIK不可能只创建一个文件,但您可以创建一个带有空字符串的文件:

try "".write(to: url, atomically: true, encoding: .utf8)

正如OP在评论中提到的,还需要禁用沙箱:

可能重复的
FileManager.default.createFile(atPath:fileURL.path,contents:nil,attributes:nil)
@LeoDabus:根据中的讨论,
Data.write(to:)
优先于
FileManager.default.createFile(atPath:)
,因为它接受一个URL并在失败情况下抛出一个错误(而不是仅仅返回一个布尔值)@LeoDabus:虽然:如果文件已经存在,它们的行为会有所不同。我想知道为什么没有
文件管理器。create(at:URL)抛出
方法。@Benj:如果文件已经存在,预期的行为是什么?打印错误消息?是否用空文件覆盖?更新修改日期?什么也不做?需要禁用应用程序沙盒。谢谢