2014-02-15 32 views
-3

我如何使用NSMutableArrayaddObject有子列表:的NSMutableArray和ADDOBJECT - 子表

下面是当前的代码:


categories = [[NSMutableArray alloc] init]; 
[categories addObject:@"Line 1"]; 
[categories addObject:@"Line 2"]; 
[categories addObject:@"Line 3"]; 
[categories addObject:@"Line 4"]; 

我想有sublisting像这样:

Line 1

  • 线A
  • 线B
  • C线

行2

  • 线A
  • 线B
  • C线

...等...

让我知道这是可能的和如何。谢谢。

回答

1

你需要创建一个对象,比方说myObject的,其中包含一个字符串,另一个阵列

@interface MyObject 
@property NSString *name; 
@property NSMutableArray *items; 
@end 

和MyObject的对象添加到您的类别阵列。

+1

给谁投票否决了......请给一个理由! – Merlevede

+1

这不是我,但我敢说你被拒绝了,因为你的回答使得它听起来像一个自定义对象是唯一的出路,这是一个解决方案,与OP所要求的完全不同。在阵列中创建数组的另一个答案更接近OP所要求的。 –

+0

我不同意...与另一个数组的数组不允许按照用户的要求给每个对象一个'Title'(“Line 1”,“Line 2”,...)。自定义对象或NSDictionary允许你这样做。 – Merlevede

2

你只是将字符串添加到数组中。如果你想有一个列表中的列表,你必须创建子列表,然后将其主列表中添加一个对象

NSMutableArray *mainList = [NSMutableArray new]; 
NSArray *subList = @[@"thing 1",@"thing 2",@"thing 3"]; 

[mainList addObject:subList]; 

然后,如果你想访问和个别子阵列,你可以这样做这样的:

NSArray *subList = mainList[0]; 

或单个子表项目:

NSString *item = mainList[0][1]; 

这将是第一子列表中的第二个项目。

+0

感谢您的快速回复。你能否拿我的代码来显示我的子列表? categories = [[NSMutableArray alloc] init]; [类别addObject:@“Line 1”]; [类别addObject:@“Line 2”]; [类别addObject:@“Line 3”]; – dmatrixs

+1

@dmatrixs所有你需要做的就是创建你的子数组(你可以在上面看到变量'subList')并将它添加到你的'categories'数组中,就像你当前添加字符串一样。 –

+0

Downvoter - 我的帖子有问题,我可以更正吗? –

0

,你可以做这样的:

NSMutableArray *categories = [[NSMutableArray alloc] init]; 
    NSArray *LineOne = @[@"Line A",@"Line B",@"Line C"]; 
    NSArray *LineTwo = @[@"Line A",@"Line B",@"Line C"]; 
    [categories addObject:LineOne]; 
    [categories addObject:LineTwo]; 
0

看起来的NSMutableDictionary是您的解决方案:

NSMutableDictionary * dict = [NSMutableDictionary new]; 

NSArray *line1list, *line2list, *line3list; 
// init list arrays 

[dict setObject:line1list forKey:@"Line 1"]; 
[dict setObject:line2list forKey:@"Line 2"]; 
[dict setObject:line3list forKey:@"Line 3"]; 
相关问题