如何在ios中定义2x2数组?

时间:2011-03-18 11:33:26

标签: objective-c ios cocoa-touch nsmutablearray

如何在ios中定义2x2或3X ..数组? 像这样

[name=john , age=21 , num=1]
[name=max , age=25 , num=2]
[name=petter , age=22 , num=3]

列 在NSMutableArray中,您只能添加带对象的行; 我想要这个数组[] []

4 个答案:

答案 0 :(得分:6)

看看你的例子,我不会用数组,或者不只是数组。我有一个字典数组或一组自定义对象,其属性名称为age,num和num。用词典:

NSArray* theArray = [NSArray arrayWithObjects:
    [NSDictionary dictionaryWithObjectsAndKeys:
        @"john", @"name",
        [NSNumber numberWithInt: 21], @"age",
        [NSNumber numberWithInt: 1], @"num",
        nil],
    [NSDictionary dictionaryWithObjectsAndKeys:
        @"max", @"name",
        [NSNumber numberWithInt: 25], @"age",
        [NSNumber numberWithInt: 2], @"num",
        nil],
    [NSDictionary dictionaryWithObjectsAndKeys:
        @"petter", @"name",
        [NSNumber numberWithInt: 22], @"age",
        [NSNumber numberWithInt: 3], @"num",
        nil],
    nil];

答案 1 :(得分:3)

答案 2 :(得分:2)

有很多方法......

NSMutableArray *array = [[NSMutableArray alloc] init];

NSMutableDictionary *person = [[[NSMutableDictionary alloc] init] autorelease];
[person setObject:@"john" forKey:@"name"];
[person setObject:[NSNumber numberWithInt:21] forKey:@"age"];
...

[array addObject:person];

...或者创建自定义类,它可以保存所有人员数据,结构或者......取决于您的目标。

答案 3 :(得分:0)

看起来你应该创建一个合适的数据存储类来存储它,而不是字典或类似的东西。

e.g。

    @interface Person : NSObject {

    }

    @property (nonatomic, copy) NSString* Name;
    @property  int age;
    @property  int num;

    @end

然后创建人员实例并将其存储在数组中。您可能首先要创建一些connivence方法。 e.g。

[[NSArray arrayWithObjects:[Person personWithName:@"Bob",Age:1 Num:3],
                             [Person personWithName:@"Bob",Age:1 Num:3],
                              [Person personWithName:@"Bob",Age:1 Num:3],nil];

它更清晰。