0

我在 Objective-C 中的代码结构存在一些问题。我有一个名为 Item 的模型类(NSObject),它存储名称和描述:

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

然后我有一个名为 ItemDoc 的模型,它存储图像和 Item-class。像这样:

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

现在我可以在我的视图中使用它来获取有关模型对象的正确信息,但我想在每个项目中存储多个图像。我不确定如何以一种好的方式做到这一点?请帮忙!

4

1 回答 1

1

这可以通过创建图像数组来实现,例如:

-(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;
}

要调用它,只需将所有 UIImages 添加到数组中并使用数组初始化对象。

于 2013-04-04T08:34:31.907 回答