タイプ 'UIView'(0x112484eb0)の値を 'SKView'(0x111646718)にキャストできませんでした。このエラーが引き続き発生します。コードの行がデフォルトでそこにあるので、誰でも私を助けることができます。 SKゲームをxcode 7ベータ版を使用して最新のSwift構文に変換しました。コンパイラーには多くのことが欠けていたため、xcode 6に戻りました。しかし、ゲームがクラッシュし、スレッド1が表示されます。SIGARBTを通知します。Swift 2と最新バージョンSwift 1の間の変更に関するヒント最新のSwift構文への変換における問題。おそらく変換されたもので、xcode 6.3.2で変更する必要があります。このクラッシュの問題が解決したらベータを削除します。コードのエラー。コードをブランドの新しいXcodeプロジェクトにコピーしたときに同じエラーが発生したためです。
let skView = self.view as! SKView
ストーリーボードに移動し、SpriteKitゲームを含むUIViewControllerを選択して、左側のメニューからビューを選択します。
Identity Inspectorに移動し、ClassがSKView
ではなくUIView
であることを確認します。
これで、コードのこの部分をUIViewController
からコンパイルできるはずです。
// Configure the view.
SKView * skView = (SKView *)self.view;
またはスウィフトで:
let skView = self.view as! SKView
Storyboard
を使用したくない場合は、SKView
のViewController
関数でloadView
としてビューを簡単に作成できます。
class ViewController: UIViewController {
override func loadView() {
self.view = SKView()
}
override func viewDidLoad() {
let skView = view as! SKView
...
}
}
簡単な修正。使用しているビューコントローラーのビューをUIViewからSKViewに変更するだけです。