尝试在swift文件中运行macOS命令时出现此问题。我在使用Swift将参数传递给函数时遇到一些问题。当我在函数定义之外的函数date
中运行这些行时,一切正常。我在Xcode中看不到任何错误。作为Swift新手,我们不胜感激!
import Foundation
import Cocoa
//Command arguments
let dateLocation = "/bin/date"
let format = "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"
let command = Process()
//Command function with arguments
func date(args: String) -> String {
command.executableURL = URL(fileURLWithPath: dateLocation)
command.arguments = [args]
try command.run()
}
//Run function
date(args: format)
答案 0 :(得分:0)
首先,您的函数被声明为返回字符串,但不返回任何内容,其次,您正在调用一个函数,该函数可能引发错误,您可以使用try
来正确处理该错误,但是您需要处理任何一个可能的错误或将其从您的函数中抛出。在这里,我通过在声明中添加throws
选择了后面的示例
func date(args: String) throws {
command.executableURL = URL(fileURLWithPath: dateLocation)
command.arguments = [args]
try command.run()
}
现在您可以调用函数并捕获如下所示的任何错误
do {
try date(args: format)
} catch {
print(error)
}
输出:
日期:2020-03-31
时间:18:50:25