2013-04-04 110 views
0

我在Objective-C中遇到了一些问题。 我有一个模型类(NSObject的)称为项目,其存储一个名称和说明:如何在模型对象中存储多个图像? Objective-C

-(id)initWithName:(NSString *)name desc:(NSString *)desc 

然后我有一个模型称为ItemDoc存储的图像,并且该项目类。就像这样:

-(id)initWithName:(NSString *)name desc:(NSString *)desc image:(UIImage *)image 
{ 
    if((self = [super init])) 
    { 
     self.data = [[Item alloc]initWithName: name desc: desc]; 
     self.image = image; 

    } 

    return self; 
} 

在AppDelegate中创建我的对象是这样的(以后我会从服务器获取数据)

Item *item1 = [[ItemDoc alloc] initWithName:@"Name" desc:@"NameDescription" image:[UIImage imageNamed:@"item.png"]]; 

Item *item2 = [[ItemDoc alloc] initWithName:@"Name2" desc:@"NameDescription2" image:[UIImage imageNamed:@"item2.png"]]; 

NSMutableArray *items = [NSMutableArray arrayWithObjects: item1, item2, nil]; 

现在我可以用这个在我的意见,以获得正确的信息关于模型对象,但我想在每个项目中存储多个图像。我不知道如何以良好的方式做到这一点?请帮忙!用于调用本刚才的所有UIImages添加到与所述阵列的阵列和init对象

-(id)initWithName:(NSString *)name desc:(NSString *)desc images:(NSMutableArray *)_imageArray 
{ 
    if((self = [super init])) 
    { 
     self.data = [[Item alloc]initWithName: name desc: desc]; 
     self.imageArray = _imageArray; 

    } 

    return self; 
} 

+0

如何使用“NSArray”代替? – Alladinian 2013-04-04 08:31:52

+0

首先,为什么你有两个模型,这可以在一个单一的模型class.and据我所知,你将有一个数据集的多个图像,所以你可以使用一个图像数组,即数组包含图像对象。或者你还在找别的东西? – 2013-04-04 08:38:04

回答

1

这可以通过创建像图像阵列来实现。

+0

好吧,我想如何在我的视图中显示图像,如果我将它们放在我的模型中的一个数组中,然后放入另一个称为Appdelegate中的项目的数组中?现在我可以通过self.detailItem.image直接联系他们。 – Jojo 2013-04-04 08:40:55

+0

@JoSmith:对不起,我不能理解你的问题?上面的解决方案至少可以将多个图像存储到阵列中。 – 2013-04-04 08:46:08

+0

如果你想访问图像,那么'self.detailItem.imageArray [yourIndex]' – 2013-04-04 08:48:01

相关问题