0

単純な NSTask を制御するためにツールバー ボタンを使用しています。以下のコードは、IBAction が通常のボタンで指定された場合は期待どおりに動作しますが、NSToolbarItem で指定された場合はアーティファクトが生成されます。より正確には、実行ボタンは無効になりません。どんな考えでも大歓迎です。

import Cocoa

class Document: NSDocument {

    override var windowNibName: String? {
        return "Document"
    }

    @IBOutlet var runButtonOutlet: NSToolbarItem! // works for NSButton 

    @IBAction func runButtonAction(sender: AnyObject) {
        runTask()
        runButtonOutlet.enabled = false
    }
    @IBAction func quitButtonAction(sender: AnyObject) {
        bigTask.terminate()
        runButtonOutlet.enabled = true
    }

    var bigTask = NSTask()

    func runTask () {
        let task = NSTask()
        bigTask = task
        task.launchPath = "/usr/bin/say"
        task.arguments = ["say something"]
        task.terminationHandler = {
            task in
            self.runButtonOutlet.enabled = true
        }
        task.launch()
    }
}
4

0 に答える 0