0

以下は、エラーが発生しているスニペットです。

    -(IBAction)rateButtonClick:(id)sender{

    NSMutableArray *starImage = [[NSMutableArray alloc]initWithObjects:starImage1, starImage2, starImage3, starImage4, starImage5, nil];

    NSArray *halfRateButton = [[NSArray alloc]initWithObjects:halfRateButton1, halfRateButton2, halfRateButton3, halfRateButton4, halfRateButton5, nil];

    int buttonClicked = (((UIButton *)sender).tag);
    int i;

    for (i = 0; i < buttonClicked; i++) {
        **starImage[buttonClicked].image = [UIImage imageNamed:@"rate.png"];** 
    }

    if (lastButtonClicked != buttonClicked) {
        **starImage[buttonClicked].image = [UIImage imageNamed:@"star-half-full.png"];**
    }else
        **starImage[buttonClicked].image = [UIImage imageNamed:@"rate.png"];**
        lastButtonClicked = buttonClicked;

    for (i = 0; i <= buttonClicked; i++) {
        **halfRateButton[i].hidden = YES;**
    }
}

エラーは、マークされた行に表示されます。それらを次のように変更します

    **[starImage objectAtIndex:i].image = [UIImage imageNamed:@"rate.png"];** 

うまくいきません。エラーが発生します:

タイプ (id) のオブジェクトにイメージ プロパティが見つかりません。

ここで、satrImage1 から starImage5 はUIImageViews. halfRateButton1 ~ halfRateButton5 はボタンです。

4

1 に答える 1

2

私はあなたが何を望んでいるのか正確にはわかりませんが、以下の答えはあなたがエラーを取り除くのに役立つと思います。これを試して

[[starImage objectAtIndex:i] setImage:[UIImage imageNamed:@"rate.png"]];

また

UIImageView *temp = [starImage objectAtIndex:i];
tmp.image = [UIImage imageNamed:@"rate.png"];
于 2012-04-11T06:01:15.123 に答える