以下是我收到错误的摘录:
-(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是按钮。
答案 0 :(得分:2)
我不确切地知道你想要什么,但我认为以下答案可以帮助你摆脱错误。 试试这个
[[starImage objectAtIndex:i] setImage:[UIImage imageNamed:@"rate.png"]];
或
UIImageView *temp = [starImage objectAtIndex:i];
tmp.image = [UIImage imageNamed:@"rate.png"];