数组中的数组 - 试图找出我需要做什么?

时间:2011-03-09 17:20:28

标签: iphone objective-c cocoa-touch

这很难解决,我无法理解它。也许有人可以提供帮助?

所以我有一系列6个UIColors,我想组合在一起,所以我可以将它们称为:

[palette objectAtIndex:3];并获得UIColor 3。

但除此之外,我想要一系列这些调色板。所以我可以去:

[allPalettes objectAtIndex:3];并获得调色板3.我如何将数组放入这样的数组中?

2 个答案:

答案 0 :(得分:1)

如果您需要存储数组数组,那么:

NSArray* pallets = ...//get that array
NSArray* pallet_colors = [pallets objectAtIndex: 3];
UIColor* color = [pallet_colors objectAtIndex: 3];

或者缩短时间:

NSArray* pallets = ...//get that array
UIColor* color = [[pallets objectAtIndex: 3] objectAtIndex: 3];

但是我建议你不要将所有托盘和颜色存放在普通阵列中。您应该使用适当的访问器方法创建自定义容器(如MyPallet类),以便按索引/名称等获取颜色。

答案 1 :(得分:0)

// Lets assume you have methods to created the series of arrays of UIColors 

NSArray *brownPalette = [self createBrownPalette];
NSArray *brightPalette = [self createBrightPalette];
NSArray *orangePalette = [self createOrangePalette];
NSArray *grayPalette = [self createGrayPalette];
NSArray *earthPalette = [self createEarthPalette];

NSArray *palettes = [NSArray arrayWithObjects:
      brownPalette,
      brightPalette,
      orangePalette,
      grayPalette,
      earthPalette, nil];