【发布时间】:2016-01-22 02:35:58
【问题描述】:
我在 iOS 上做了一些 Swift 和相当多的 Objective-C,但基本上没有真正的 OS X 编程,所以我没有使用NSSound。我试图在 Swift 论坛上帮助某人,但......它不起作用。我不知道为什么。
在游乐场、Swift REPL 甚至脚本 (#!/usr/bin/env swift) 中,我可以成功实例化 NSSound:
NSSound(named:"Hero")
在 REPL / Playground 或从脚本打印中,我可以看到可选的内部有一个 NSSound。但是当我拨打play() 时,我什么也没听到:
NSSound(named:"Hero")!.play()
为什么?
这是一小段代码,看起来很简单,但显然我遗漏了一些东西。这没什么大不了的,因为它不是我需要的代码,但它让我很烦恼,因为它看起来很简单,但它却不起作用。
【问题讨论】:
-
为什么不在实际项目中测试您的声音? Playground 并不是为了测试 UI。您的代码应该可以工作,但您应该更喜欢像
NSSound(named:"Hero")?.play()这样使用它,这样您就不会强行打开声音 -
是的,我想过——这也是我尝试 REPL 和脚本的原因。 NSSound 不是真正的 UI,但也许它在这些环境中都不起作用?