NSBundle 错误 Xcode 8

NSBundle error Xcode 8

我正在在线学习新手游戏教程,现在我要将一个声音文件链接到几个按钮。

这是它的代码:

let soundFilePath = NSBundle.mainBundle().pathForResource("1", ofType: "wav")
let soundFileURL = NSURL(fileIRLWithPath: soundFilePath!)

不幸的是,"NSBundle" 突出显示为红色,上面写着 "Replace NSBundle with Bundle"。我做了,但后来我得到 "mainBundle" 错误等等。

我正在学习的教程使用的是 Xcode 7.3+ 我使用的是 Xcode 8+ 所以我确定这就是问题所在。有没有办法重写代码以使其正常工作?

谢谢。

在 Swift 3 中,试试这个:

let soundFilePath = Bundle.main.path(forResource: "1", ofType: "wav")

在 Swift 3 中,许多 Foundation 类 已变成原生 Swift 结构(缺少 NS 前缀)。好处是大大减少了代码并更好地符合 Swift 值类型语义。

因为你需要一个 URL 无论如何使用 Bundle

的 URL 相关 API
let soundFileURL = Bundle.main.url(forResource:"1", withExtension: "wav")

不幸的是,似乎只有少数在线教程作者知道:-/