-1

私は2つ持ってNSMutableArrayいます。それらはholderArrayとdataArrayです。holderArrayはdataArrayからのデータ/オブジェクトを保持しdataArray = {1,2,3,4,5};ますholderArray[0].などに保存さholderArray[2]れます。

どこ、

int increment = 0;

[holderArray[increment] addObjectsFromArray:dataArray];
holderArray[increment] = dataArray;

dataArray にデータを追加するアクションがあり、その中のすべてのオブジェクトを削除するアクション (ボタン) もあります。これが十分に簡潔であることを願っています。そして助けが必要でした。

4

4 に答える 4

0
NSMutableArray *dataArray = [[NSMutableArray alloc] init];
NSMutableArray *holderArray = [[NSMutableArray alloc] init];

for(int i=1; i<=5; i++) {
    for(int j=1; j<=5; j++) {
        [dataArray addObject:[NSNumber numberWithInt:j]];
    }
    [holderArray addObject:dataArray];
    [dataArray removeAllObjects];
}

//If Non ARC don't forget to release the array objects
[holderArray release];
[dataArray release];

説明: 5 つの配列オブジェクト、つまり dataArray を追加するために外側のループが 5 回実行され、dataArray に {1,2,3,4,5} を追加するために内側のループも 5 回実行されます。holderArray に dataArray を追加した後、dataArray からすべてのオブジェクトを削除して、再度値を追加します。

于 2013-08-01T09:28:48.560 に答える
0

したがって、クラスのdataArrayholderArrayが既に初期化されていて、これらのアクションに 2 つのボタンをフックしているとすれば、問題が正しければ、次のようなことが機能する可能性があります。

- (IBAction)emptyDataArray
{
    [self.dataArray removeAllObjects];
}


- (IBAction)saveDataArray
{
    NSArray *newData = // Here put the data you want to add
    [self.dataArray addObjects:newData];
    [self.holderArray insertObject:[self.dataArray copy] atIndex:self.holderArray.length];
}
于 2013-08-01T09:28:07.310 に答える
0

このようなことをしようとしていますか?

NSMutableArray *dataObjects = [[NSMutableArray alloc] init];
NSMutableArray *holderArray = [[NSMutableArray alloc] init];

    for (int i = 0; i < 7; i++) {

        [holderArray addObject:@"1"];
        [holderArray addObject:@"2"];

        [holderArray addObject:dataObjects];
        [holderArray removeAllObjects];

    }
于 2013-08-01T09:19:23.763 に答える