所以我尝试了学习Swift以重新创建我的程序,没有工作得很好,我也没有走得很远。尝试通过调用函数从Obj-C++源代码运行我的C++函数,并没有奏效,并且在第一次关闭它后,项目拒绝再次打开。首先我没有发现面向对象的编程非常直观,所以我想避免Obj-C。如何从Cocoa应用程序运行Automator工作流/服务?
我已经有一个Automator独立工作流和一个服务(做同样的事情),它得到我需要的程序,显示确认,在终端窗口中使用stdout运行程序,并在退出之前显示通知。这是我按下特定按钮时需要执行的所有操作。
那么我该如何将这个按钮链接到Swift中的Automator func run()
块?我知道需要使用的命令,但正如我所说,我没有发现面向对象的编程非常直观,所以我需要知道使用该函数的上下文。在实践中下面的块是否足够了,还是需要更多的规范?
@IBOutlet weak var testButton(NSButton!)
@IBAction testButton(_ sender: AnyObject)
{
let guard Bundle.main.path(forName: "test",forType:"workflow")
else
{
print("Could not find 'test.workflow'")
return
}
let URL="//location of file"
class func run(at: URL, withInput: nil)
}
我错过了一些关于如何做到这一点或者是上述不够?其次,有人请举例说明文件位于捆绑的“资源”文件夹中的文件URL的格式? 也是class
仍然是单词类,或者我应该指定一个自定义类?有人可以给我一个实际的这个块/概念的真实世界的例子吗?