NSMutableArray和addObject - 子列表

时间:2014-02-15 15:26:41

标签: ios objective-c nsmutablearray

如何使用NSMutableArrayaddObject

创建子列表

以下是当前代码:


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

我想像这样下载:

第1行

  • A行
  • B行
  • C行

第2行

  • A行
  • B行
  • C行

...等...

如果可能,请告诉我。感谢。

4 个答案:

答案 0 :(得分:2)

您只是在数组中添加字符串。如果您想要列表中的列表,则必须创建子列表,然后将其作为主列表中的对象添加

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

[mainList addObject:subList];

然后,如果你想访问和单独的subArray,你可以这样做:

NSArray *subList = mainList[0];

或单个子列表项:

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

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

答案 1 :(得分:1)

你需要创建一个对象,比方说MyObject,它包含一个字符串和另一个Array

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

并将MyObject对象添加到您的类别数组中。

答案 2 :(得分: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];

答案 3 :(得分: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"];