0

私が作っているゲームでは、bombというクラスファイルを作成しました。このファイルには、displayBombというメソッドがあります。

    - (void) displayBomb
    {
        bombImage = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
    }

この方法では、画面に画像を表示することになっています。ViewDidLoadのViewController.mファイルには、次のものがあります。

    bomb *bomb1 = [[bomb alloc] init];
    [bomb1 setValue:[UIImage imageNamed:@"image.png"] forKey:@"bombImage"];
    [bomb1 displayBomb];

ただし、何も表示されません。問題は、のようなものが必要なことだと思います[self.view addSubview:bombImage]。それをViewController.mファイルに入れると、と表示されますUse of undeclared identifier 'bombImage'。それをbomb.mに入れると、と表示されますproperty "view" not found on object of type bomb *。のようなものが必要だと思い[ViewController.view addSubview:bombImage]ますが、それはを返しますproperty "view" not found on object of type ViewController

4

2 に答える 2

2

参照していないオブジェクトのメソッドを呼び出すことはできません。ビューコントローラーがビューコントローラーについて知っているbombImage必要があるか、爆弾がビューコントローラーについて知っている必要があります。bombImageのプロパティを作成してから、ViewControllerで次の操作を行うことができbombます。

[self.view addSubview:bomb1.bombImage];

編集:画像を割り当てる一般的な方法bombImageは次のとおりです。

bombImage = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];
[bombImage setImage:[UIImage imageNamed:@"image.png"]];
于 2013-03-23T15:13:30.733 に答える
0

メソッドにビューパラメータを追加します。

 - (void) displayBombOnView:(UIview *)view
    {
        bombImage = [[UIImageView alloc] initWithFrame:CGRectMake(50, 50, 50, 50)];

        [view addSubview:bombImage];
}

viewDidLoad呼び出しメソッドで:

[bomb1 displayBombOnView:self.view];//or which view is on superview
于 2013-03-23T17:34:37.280 に答える