NSSavePanel ничего не делает

Следующий код ничего не делает. Нет сообщений об ошибках, нет диалога сохранения. Почему?

let FS = NSSavePanel()
FS.canCreateDirectories = true
FS.allowedFileTypes = ["text", "txt"]
FS.begin { (result: Int) -> Void in
    if result == NSFileHandlingPanelOKButton {
        let exportedFileURL = FS.url
}
}

person benwiggy    schedule 26.03.2017    source источник
comment
В какой среде/контексте?   -  person vadian    schedule 26.03.2017
comment
Попробуйте использовать метод runModal   -  person Leo Dabus    schedule 26.03.2017
comment
developer.apple.com/reference/appkit/nssavepanel/   -  person Leo Dabus    schedule 26.03.2017
comment
runModal действительно создает диалоговое окно, хотя из документации я не вижу, как получить из него результаты; ни почему begin не работает в первую очередь.   -  person benwiggy    schedule 27.03.2017
comment
Что вы делаете сразу после этого? Закрыть окна?   -  person Willeke    schedule 27.03.2017
comment
как получить из этого результаты   -  person Eric Aya    schedule 27.03.2017
comment
Спасибо. Да, это последняя часть головоломки. Пока что я просто тестирую эти строки в скрипте: больше ничего не делаю. Однако было бы неплохо узнать, почему исходный код не работает.   -  person benwiggy    schedule 27.03.2017
comment
I'm just testing these lines in a script Это может быть причиной вашей проблемы. Потому что runModal синхронный, а begin асинхронный. Если ваш сценарий не поддерживает цикл выполнения, он завершится до того, как begin будет выполнено.   -  person Eric Aya    schedule 27.03.2017