2014-12-06 45 views
0

看来他们已经更新了这个过程,无论出于何种原因,它在新版本的Xcode中都不起作用,存档行是错误行在Xcode调用中的额外参数'forReadingWithData'SpriteKit

let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks") 

    var sceneData: AnyObject? = NSData.dataWithContentsOfMappedFile(path!) 
    var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData) 

回答

1

斯威夫特有时会报告说,没有任何与真正的问题一个错误。在这种情况下,NSKeyedUnarchiver:forReadingWithData的说法应该是NSData对象不是AnyObject?。下面将解决这个问题

if let sceneData = NSData.dataWithContentsOfMappedFile(path!) as? NSData { 
    var archiver = NSKeyedUnarchiver(forReadingWithData: sceneData) 
} 
+0

可选绑定会一个更好的选择:'如果让sceneData = sceneData {...',或者更简洁一些:'if let sceneData = NSData.dataWithContentsOfMappedFile(path)as? NSData {...' – Antonio 2014-12-06 19:55:57

+0

@Antonio是的。我更新了我的答案。谢谢。 – 0x141E 2014-12-06 20:06:51

相关问题