gpt4 book ai didi

xcode - 在 Swift 的 NSScrollView 和 NSTextView 中显示控制台输出

转载 作者:行者123 更新时间:2023-11-28 09:11:10 26 4
gpt4 key购买 nike

这几天我一直在学习 Swift,我似乎遇到了困难。

我正在尝试创建一个 ViewController 窗口,其中有一个按钮和一个 NSViewText。当我按下按钮时,应用程序会向用户提示一个包含 NSTextField 的工作表。当按下回车键时,NSTextField 字符串被保存在一个变量中,工作表关闭,终端命令被执行。

现在,我在 AppDelegate 中的执行命令方法使用 NSPipe 创建了一个管道:

let cmd = NSTask()
...
let pipe = NSPipe()
cmd.standardOutput = pipe
cmd.launch()
let data = pipe.fileHandleForReading.readDataToEndOfFile()
let output: String = NSString(data: data, encoding: NSUTF8StringEncoding)!

var consoleOutput = output
return output

consoleOutput 在 execute 方法之外,所以我试图在 ViewController 中显示它,如下所示:

编辑:更改了之前的代码但仍然出现错误:

textView.string = myDelegate.consoleOutput

我希望终端输出显示在NSViewText(或NSTextField,或NSScrollViewNSClipView)中? 不确定哪个),实时。我不能做的是找到一种方法来操纵 NSTextView 的内容,因为当我运行它时,我收到以下错误:

fatal error: unexpectedly found nil while unwrapping an Optional value

如有任何帮助,我们将不胜感激。

最佳答案

如果分配闭包(例如代码块)完全可行,则必须将其放在声明中的“=”之后,而不是在 LHS 上的 : 之后。您基本上是在尝试将类型声明为静态代码块。令我惊讶的是,编译器让您摆脱了所有仅对 IBOutlet 方面本身的提示。

关于xcode - 在 Swift 的 NSScrollView 和 NSTextView 中显示控制台输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29308042/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com