如何在对象中使用对象内部的对象

时间:2014-07-20 01:25:18

标签: objective-c arrays object

我有一个像这样设置的对象数组:

NSMutableArray *image_view_array;
IBOutlet UIImageView *image_view_1, *image_view_2, *image_view_2;

image_view_array = [[NSMutableArray alloc] initWithCapacity:3];
[image_view_array addObject:image_view_1];    
[image_view_array addObject:image_view_2];
[image_view_array addObject:image_view_3];

如何访问图像视图数组的图像? 我试过这些:

image_view_array[0].image
[image_view_array objectAtIndex:0].image

但它不起作用。 谢谢!

2 个答案:

答案 0 :(得分:1)

两行更易读,更容易调试:

UIImageView *imageView = image_view_array[0];
UIImage *image = imageView.image;

BTW - 学习使用标准命名约定。 Camel case比使用下划线更受欢迎。

将您的数组命名为imageViewArray,将您的商店命名为imageView1imageView2

答案 1 :(得分:0)

你只需要将它转回UIImageView:

((UIImageView *)[image_view_array objectAtIndex:0]).image

NSArray不保留类型,因此,只要编译器知道,您提取的所有内容都将是NSObject。因此,程序员必须将其强制转换为输入的类型。