使用NSMutableArray显示图像时出现问题

时间:2014-10-21 03:14:30

标签: ios iphone xcode xcode6

我是xcode的新手,我正在玩图像数组和NSMutableArray。当我运行下面的代码时,只需打印出图像的名称,例如“image1.png”。任何解决这个问题的技巧都将不胜感激。谢谢。

- (NSMutableArray*)restaurantArray;
{
    if (_restaurantArray == nil) {
        _restaurantArray = [[NSMutableArray alloc] initWithObjects:
                        @"image1.png",
                        @"image2.png",
                        @"image3.png",
                        nil];
    }

    return _restaurantArray;
}


-(NSString*) randomRestaurant
{
    int random = arc4random_uniform(self.restaurantArray.count);
    return [self.restaurantArray objectAtIndex:random];
}

3 个答案:

答案 0 :(得分:1)

你也可以这样做。

- (NSMutableArray*)restaurantArray;

{

if (_restaurantArray == nil) {
    _restaurantArray = [[NSMutableArray alloc] initWithObjects:[UIImage imageNamed:@"image1.png"],
                        [UIImage imageNamed:@"image2.png"],
                        [UIImage imageNamed:@"image3.png"],
                        nil];
}

return _restaurantArray;

}

答案 1 :(得分:0)

你是说这个吗?:

NSString *imageName = [self randomRestaurant];
UIImage *image = [UIImage imageName:imageName];

答案 2 :(得分:0)

如果要显示图像,请执行以下操作:

假设您有一个imageview名称imgView,

imgView.image = [UIImage imageNamed:[self randomRestaurant]];

或者,如果您只是想要图像,请调用它:

UIImage *img = [UIImage imageNamed:[self randomRestaurant]];

在给定代码中,您只是返回图像的名称,而不是实际图像。如果你想要一个图像数组,那么你可以这样做:

-(NSMutableArray*) restaurantArray;
{
    if (_restaurantArray == nil) {
        UIImage *img = [UIImage imageNamed:@"image1.png"];
        UIImage *img1 = [UIImage imageNamed:@"image2.png"];
        UIImage *img2 = [UIImage imageNamed:@"image3.png"];

        _restaurantArray = [[NSMutableArray alloc] initWithObjects:
                        img,
                        img1,
                        img2,
                        nil];
    }
    return _restaurantArray;
}

-(UIImage*) randomRestaurant
{
    int random = arc4random_uniform(self.restaurantArray.count);

    return [self.restaurantArray objectAtIndex:random];
}

希望这会有所帮助.. :)