我试图让我的OS X应用程序检测某个程序是否正在运行,但NSRunningApplications不为我工作。
import AppKit class func sharedWorkspace() -> NSWorkspace { var runningApplications: [NSRunningApplications] {get} }
我得到的错误是应为“{”以启动getter定义。以及应返回“NSWorkspace”的函数中缺少返回值。有什么想法吗?
zpjtge221#
您必须使用NSWorkspace.sharedWorkspace().runningApplications本身:
NSWorkspace.sharedWorkspace().runningApplications
for app in NSWorkspace.sharedWorkspace().runningApplications { if let name = app.localizedName { print(name) } }
您可以使用简单的map(或flatMap,用于管理可选项)在数组中获取正在运行的应用程序名称:
map
flatMap
let names = NSWorkspace.sharedWorkspace().runningApplications.flatMap { $0.localizedName } print(names)
q1qsirdb2#
在**Swift 5+**中,语法更改为:
NSWorkspace.shared.runningApplications
2条答案
按热度按时间zpjtge221#
您必须使用
NSWorkspace.sharedWorkspace().runningApplications
本身:您可以使用简单的
map
(或flatMap
,用于管理可选项)在数组中获取正在运行的应用程序名称:q1qsirdb2#
在**Swift 5+**中,语法更改为: