我的GameViewController中一直出现错误..
这是我的GameViewController: 我如何摆脱这个错误:致命错误:在解开一个Optional值时意外地发现了nil (lldb),它就行了“让sceneData = NSData(contentsOfFile ......”
import UIKit
import SpriteKit
import AVFoundation
import Social
extension SKNode {
class func unarchiveFromFile(file : NSString) -> SKNode? {
let path = NSBundle.mainBundle().pathForResource(file, ofType: "sks")
let sceneData = NSData(contentsOfFile:path!, options: .DataReadingMappedIfSafe, error: nil)
let archiver = NSKeyedUnarchiver(forReadingWithData: sceneData!)
archiver.setClass(self.classForKeyedUnarchiver(), forClassName: "SKScene")
let scene = archiver.decodeObjectForKey(NSKeyedArchiveRootObjectKey) as GameScene
archiver.finishDecoding()
return scene
}
}
class GameViewController: UIViewController, UITextFieldDelegate{
override func viewDidLoad() {
super.viewDidLoad()
let skView = view as SKView
if let scene = GameScene.unarchiveFromFile("GameScene") as? GameScene {
println("gamescc")
}
skView.multipleTouchEnabled = false
scene = GameMenuScene(size: skView.bounds.size)
//scene.weakGameRef = self
//scene.scaleMode = SKSceneScaleMode.ResizeFill
skView.showsFPS = true
skView.showsNodeCount = true
skView.presentScene(scene)
}
}
答案 0 :(得分:0)
您的文件中是否存在您的文件。
转到您的项目目标 - >构建阶段 - >复制捆绑资源并检查是否存在文件。如果没有添加到捆绑资源。
在打开它之前,请始终检查optionals
if
条件或可选链接。
答案 1 :(得分:0)
我在文本中有一个特殊字符“和'。它不是常规的”,但看起来不同并且是由复制粘贴造成的 我删除了不必要的特殊字符,它解决了问题。 找到合适的角色
很棘手在另一个文件中,我有这个字符ë是'在另一个Windows文件中