1
    NSMutableArray *no1=[[NSMutableArray alloc]init];
    NSMutableArray *no2=[[NSMutableArray alloc]init];

    for(int i=0;i<3;i++)
    {
        for (int j=0;j<=i;j++)
        {
            NSString *no_str=[NSString stringWithFormat:@"%d",j];
            [no1 addObject:no_str];
        }
        [no2 addObject:no1];
        [no1 removeAllObjects];
    }
    NSLog(@"Final:%@",no2);

次のような出力が得られました:

最終:((0、1、2)、(0、1、2)、(0、1、2))

しかし、私はこのような出力が必要です:

最終:((0)、(0、1)、(0、1、2))

誰か助けてください。

4

2 に答える 2

0

更新されたコード:-

NSMutableArray *no1;

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

    for(int i=0;i<3;i++)
    {
        no1=[[NSMutableArray alloc]init];
        for (int j=0;j<=i;j++)
        {
            NSString *no_str=[NSString stringWithFormat:@"%d",j];
            [no1 addObject:no_str];
        }
        [no2 addObject:no1];
        [no1 release];
    }
    NSLog(@"Final:%@",no2);
于 2012-11-26T07:42:47.937 に答える
0

ここに画像の説明を入力してください

ARCを使用していると思いますので、このコードはうまく機能します。

NSMutableArray *no1;
NSMutableArray *no2=[[NSMutableArray alloc]init];

for(int i=0;i<3;i++)
{
    no1=[[NSMutableArray alloc]init];
    for (int j=0;j<=i;j++)
    {
        NSString *no_str=[NSString stringWithFormat:@"%d",j];
        [no1 addObject:no_str];
    }
    [no2 addObject:no1];
}
NSLog(@"Final:%@",no2);

編集:最初にno1を割り当てても、結果は同じになります。

于 2012-11-26T07:45:47.393 に答える