0

次のように 2 次元の NSMutable 配列を作成するにはどうすればよいですか。

配列:

=>[item1]=>[item1a,item1b,item1c...]
=>[item2]=>[item2a,item2b,item2c...]
...
=>[item10]=>[item10a,item10b,item10c...]

これまでのところ、[item1] => [item1a、item1b、item1c ...]までしか成功していません

さらに 2 次元配列を追加しようとすると、最初の行が上書きされ続けます。

4

4 に答える 4

5

を作成し、そのオブジェクトとしてNSMutableArray割り当てます。NSMutableArray

例えば:

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

// first internal array
NSMutableArray * internalElement = [[[NSMutableArray alloc] init] autorelease];
[internalElement addObject:@"First - First"];
[internalElement addObject:@"First - Second"];
[myBig2dArray addObject:internalElement];

// second internal array
internalElement = [[[NSMutableArray alloc] init] autorelease];
[internalElement addObject:@"Second - First"];
[internalElement addObject:@"Second - Second"];
[myBig2dArray addObject:internalElement];
于 2012-05-10T04:33:24.673 に答える
3

2 次元配列を作成するには、配列の配列を作成します。

NSArray *2darray = [NSArray arrayWithObjects: [NSArray arrayWithObjects: @"one", @"two", nil], NSArray arrayWithObjects: @"one_2", @"two_2", nil]];

非常に冗長になりますが、それが私がこれを行う方法を知っている方法です。必要なものによっては、一連の辞書が状況に適している場合があります。

于 2012-05-10T04:33:49.720 に答える
0

まず、.h ファイルに NSMutableDictionary を設定します。

        @interface MSRCommonLogic : NSObject
        {
            NSMutableDictionary *twoDimensionArray;
        }

        then have to use following functions in .m file


        - (void)setValuesToArray :(int)rows cols:(int) col value:(id)value
        {
            if(!twoDimensionArray)
            {
                twoDimensionArray =[[NSMutableDictionary alloc]init];
            }

            NSString *strKey=[NSString stringWithFormat:@"%dVs%d",rows,col];
            [twoDimensionArray setObject:value forKey:strKey];

        }

        - (id)getValueFromArray :(int)rows cols:(int) col
        {
            NSString *strKey=[NSString stringWithFormat:@"%dVs%d",rows,col];
            return  [twoDimensionArray valueForKey:strKey];
        }
于 2014-12-02T10:44:16.587 に答える