随机分配4个图片到iPhone按钮中

代码:

-(void)RandomButtonImage {

    NSMutableArray *images = [NSMutableArray arrayWithObjects:@"Character_1_1.png",@"Character_1_2.png",@"Character_2_1.png",@"Character_2_2.png" nil];

    NSArray *Buttons = [NSArray arrayWithObjects:AnsButton1,AnsButton2,AnsButton3,AnsButton4, nil];

    for (UIButton *btn in Buttons) {
        int randomIndex = random() % images.count;
        UIImage *img = [images objectAtIndex:randomIndex];
        [btn setImage:img forState:UIControlStateNormal];
        [images removeObjectsAtIndexes:randomIndex];
    }
}

但是运行这段代码之后最后一行报错:[imagesremoveObjectsAtIndexes:randomIndex];

Implicit Conversion of 'int' to 'NSindexset' is disallowed with ARC

image是NSString的数组,不是UIImage的数组

试试看

UIImage *img = [UIImage imageNamed:[images objectAtIndex:randomIndex]];

removeObjectsAtIndexe 需要的是 NSIndexSet,不是整形:

使用[images removeObjectAtIndex:randomIndex];

或者[images removeObjectsAtIndexes:[NSIndexSet indexSetWithIndex:randomIndex]];