我收到此代码块的错误:
_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 对象)。当我尝试将东西组合在一起时,我通常会收到这样的错误,并最终陷入野鹅追逐,这要归功于编译器给出了极其无用的错误消息。