2012-04-11 59 views
0

cnstant下面是一个片段,我正在错误:标要求接口的NSMutableArray的尺寸未在非脆弱ABI

-(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"];** 

不工作。我得到一个错误:

image property not found on object of type (id).

这里,satrImage1到starImage5是UIImageViews。 halfRateButton1到halfRateButton5是按钮。

回答

2

我不知道你想要什么,但我想下面的答案可以帮助你摆脱错误。 试试这个

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

UIImageView *temp = [starImage objectAtIndex:i]; 
tmp.image = [UIImage imageNamed:@"rate.png"]; 
+0

太谢谢你了....这工作得非常好 – 2012-04-11 06:12:53

+0

感谢您接受的答案和高兴地听到,它为你工作:) – 2012-08-16 06:31:42