Swift NSAlert()参数打印带空格的字符串

时间:2019-06-14 13:36:32

标签: swift

如何打印下面的数组以显示完整字符串?

alert.informativeText = CommandLine.arguments[4]

这是一个单词,打印效果很好。参数测试

Test

但是,如果参数为这是测试。它仍然只打印第一个单词:

Test

完整代码:

CommandLine.arguments[1]{
        func dialogOKCancel(title: String) -> Bool
        {
            let alert = NSAlert()
            alert.informativeText = CommandLine.arguments[4]
            alert.alertStyle = NSAlert.Style.warning
            alert.addButton(withTitle: "Dismiss")
            return alert.runModal() == NSApplication.ModalResponse.alertFirstButtonReturn
        }
        _ = dialogOKCancel(title: "")

2 个答案:

答案 0 :(得分:0)

命令行参数始终用空格分隔。尽管“这是一个测试”可能看起来像一个参数,但它是四个参数-“这”,“是”,“ A”和“测试”。

您要尝试执行的操作似乎是在打印 all 所有参数。在这种情况下,应删除<!-- in action-xhr use your action url --> <form class="sky-form" method="post" action-xhr="<?=SITE_PATH?>/mailto.php" target="_top" name="enquiry"> <!-- here add your input field --> </form>的第一个元素(即命令本身),然后删除字符串CommandLine.arguments

join

答案 1 :(得分:0)

空格字符是命令行中的参数分隔符。

您必须引用字符串

String key = value.substring(_textController.selection.end-1, _textController.selection.end);

或逃脱

/path/to/executable 'This is A Test'

调用可执行文件时字符串中的空格。