Swift和Sprite Kit - 取消归档粒子发射器(sks)文件

时间:2014-12-07 20:10:40

标签: swift sprite-kit particles

我收到这段代码的错误:

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

我得到的错误是:“找不到提供参数的'pathForResource'的重载”

文档内容如下:

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

为什么我收到此错误?

2 个答案:

答案 0 :(得分:0)

尝试展开filePath:

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

答案 1 :(得分:0)

文件路径需要显式解包:

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

我发现使用Swift在Xcode中处理编译时错误的最好方法是分阶段完成每个部分(在这种情况下,将路径声明为它自己的String对象)。当我尝试将各种事物组合在一起时,我通常会收到类似这样的错误,并且由于编译器提供了非常无用的错误消息而最终导致了一场疯狂的追逐。