2016-01-17 1 views
1

Я пытаюсь, чтобы приложение OS X обнаружило, что какая-то программа работает, но NSRunningApplications не работает для меня. Это мой код:Использовать NSRunningApplications?

import AppKit 
class func sharedWorkspace() -> NSWorkspace 
{ 
    var runningApplications: [NSRunningApplications] {get} 
} 

Ошибка я получаю

Ожидаемое '{', чтобы начать определение геттер.

, а также

Отсутствует возвращение в функции, как ожидается, вернется «NSWorkspace.

Любые идеи?

+0

HTTP : //stackoverflow.com/a/29311522/2303865 –

+2

Эрик Д получил это. Его код более плавный и имеет больше смысла. Спасибо хоть! – Jack

ответ

1

Вы должны использовать NSWorkspace.sharedWorkspace().runningApplications себя:

for app in NSWorkspace.sharedWorkspace().runningApplications { 
    if let name = app.localizedName { 
     print(name) 
    } 
} 

Вы можете получить имена запущенных приложений в массиве с простым map (или flatMap здесь, чтобы управлять OPTIONALS):

let names = NSWorkspace.sharedWorkspace().runningApplications.flatMap { $0.localizedName } 

print(names) 
+0

Спасибо! Быстрый вопрос. Как назначить значения массиву? – Jack

+0

Обновлен мой ответ. – Moritz

+0

Большое вам спасибо! – Jack

Смежные вопросы