-1

私はAppleのドキュメントを読んでいて、次の行に出くわしました:

SKView *spriteView = (SKView *) self.view;

私は SKView について混乱しているのではなく、使用されている表記について混乱しています。私はそれを見たことがなく、それが何と呼ばれているのか、どのように機能するのかわかりません。通常、ビューを作成したい場合は、次のようにします。

UIView *view = [UIView alloc]init];

誰かが 2 つの表記の違いを説明したり、最初の表記を分解したりできますか? これが UIColor でもよく使われているのを見てきました。これが何と呼ばれているのかわからないので、何を検索する必要があるか正確にはわかりません。

4

1 に答える 1

1

通常、ビューを作成したい場合は...

あなたが求めている表記はself.view、ビューを直接作成しません。ドット表記は、オブジェクトのプロパティにアクセスする簡単な方法です。とまったく同じ[self view]です。あなたの例にあるオブジェクトselfはおそらくView Controllerであるため、メソッドをview介してアクセスされ、を介して設定されるプロパティがあります。-(NSView*)view-(void)setView:

現在、ビュー コントローラーはビューの読み込みを怠っています。必要になるまで、管理するビューを読み込み (または作成) しません。したがって、-(UIView)viewアクセサーは次のようになります。

-(UIView)view
{
    if (_view == nil) {
        [self loadView];
    }
    return _view;
}

-viewしたがって、ビューを作成するのはドット表記ではなく、メソッドを呼び出しているという事実です。もちろん、viewプロパティは として宣言されてUIView*いますが、View Controller は のインスタンスを管理しているSKViewため、値を にキャストする必要がありますSKView*

于 2013-08-31T01:50:07.710 に答える