在Xcode调用中的额外参数'forReadingWithData'SpriteKit
问题描述:
看来他们已经更新了这个过程,无论出于何种原因,它在新版本的Xcode中都不起作用,存档行是错误行在Xcode调用中的额外参数'forReadingWithData'SpriteKit
let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks")
var sceneData: AnyObject? = NSData.dataWithContentsOfMappedFile(path!)
var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData)
答
斯威夫特有时会报告说,没有任何与真正的问题一个错误。在这种情况下,NSKeyedUnarchiver:forReadingWithData
的说法应该是NSData
对象不是AnyObject?
。下面将解决这个问题
if let sceneData = NSData.dataWithContentsOfMappedFile(path!) as? NSData {
var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData)
}
可选绑定会一个更好的选择:'如果让sceneData = sceneData {...',或者更简洁一些:'if let sceneData = NSData.dataWithContentsOfMappedFile(path)as? NSData {...' – Antonio 2014-12-06 19:55:57
@Antonio是的。我更新了我的答案。谢谢。 – 0x141E 2014-12-06 20:06:51