Swiftで遊ぼう! - 745 - Sprite Kit チュートリアル改訂中 3
めちゃめちゃ悩んでいます(^^;)
Sprite Kitチュートリアルの復習をしているのですが、GameViewControllerクラスのviewDidLoad()メソッド内にあるコードで疑問が生まれました...
let skView = view as! SKView
「view」プロパティをSKViewにキャストしているのですが、Xcode 8 でこの「view」を「Opt + クリック*1」すると、「var view: UIView! { get set }」という説明が出てきます。
あれ?
この「view」プロパティは UIView なんですか?
テンプレートで「Game」を選択すれば、GameViewControllerにベースビューが作られています。
「View」を選択してアイデェンティティ・インスペクタを見ると、カスタムクラスのClass名は「SKView」になっています。そうですよね。ベースビューはSKViewでないと、viewDidLoad()メソッド内のコードが動かないでしょう。
let skView = view as! SKView
ベースビューからリファレンスコピーのインスタンスskViewにして実装をしているんです。
どうしてUIViewという説明になっているのだろう? 不思議だ。
今日もこれだけ。
*1:リファレンスがポップアップして表示されます。