我试图通过改变它NSTextField
的来源来改变它的内容,但它给了我一个错误。ViewController
stringValue
AppDelegate
中的代码AppDelegate
是:
class AppDelegate: NSObject, NSApplicationDelegate {
var consoleOutput:String? = "Console Output"
func executeCommand(command: String, args: [String]) -> String {
let task = NSTask()
task.launchPath = command
task.arguments = args
let pipe = NSPipe()
task.standardOutput = pipe
task.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output:String = NSString(data: data, encoding: NSUTF8StringEncoding)!
consoleOutput = output
return output
}
}
它从以下位置调用ViewController
:
var myDelegate = NSApplication.sharedApplication().delegate! as AppDelegate
并且NSTextField
是IBOutlet
较早创建的:
@IBOutlet weak var outputText: NSTextField!
并尝试稍后修改:
outputText.stringValue = myDelegate.consoleOutput!
但我得到的只是
致命错误:在展开可选值时意外发现 nil
我究竟做错了什么?