Swift 和 Sprite Kit - 解压缩粒子发射器 (sks) 文件



我收到此代码块的错误:

_bloodEmitter = NSKeyedUnarchiver.unarchiveObjectWithFile(NSBundle.mainBundle().pathForResource("Blood", ofType:"sks"));

我得到的错误是:"找不到除提供的参数之外的'pathForResource'的重载"

文档内容如下:

func pathForResource(_ name: String?,
          ofType extension: String?) -> String?

为什么我会收到此错误?

尝试解开 filePath 的包装:

_bloodEmitter = NSKeyedUnarchiver.unarchiveObjectWithFile(NSBundle.mainBundle().pathForResource("Blood", ofType: "sks")!)

文件路径需要显式解包:

_bloodEmitter = NSKeyedUnarchiver.unarchiveObjectWithFile(NSBundle.mainBundle().pathForResource("Blood", ofType:"sks"));

我发现使用 Swift 处理 Xcode 中的编译时错误的最佳方法是分阶段完成每个部分(在这种情况下,将路径声明为它自己的 String 对象)。当我尝试将东西组合在一起时,我通常会收到这样的错误,并最终陷入野鹅追逐,这要归功于编译器给出了极其无用的错误消息。

最新更新