1

効果を下げたいのですが、NSMutableArray を使用する方法がわかりません NSArray を 2 つ以上結合しますか?

1.私のコード

for (int i=0; i<[DateSortArry2 count]; i++) {
        for (int j=0; j<[DateSortArry2Copy count]; j++) { 
            NSString *sectiondateStr2 = [NSString stringWithFormat:@"%@",[DateSortArry2Copy objectAtIndex:j]];    
            if ([[DateSortArry2 objectAtIndex:i] isEqualToString:sectiondateStr2]) {  
                [Arry addObject:sectiondateStr2];   
            }
        }
        [SumArry addObjectsFromArray:Arry];
        [Arry removeAllObjects];
    }

2.私のコード 結果

SumArry:(
"20130227",
"20130227",
"20130227",
"20130226",
"20130226",
"20130226",
"20130225",
"20130225")

3.結果が欲しい

SumArry:((
    "20130227",
    "20130227",
    "20130227",
    ),
    (
    "20130226",
    "20130226",
    "20130226",
    ),
    (
    "20130225",
    "20130225"
    ))
4

3 に答える 3

2

コードは要素を追加することで同じ配列を繰り返し埋めたり空にしたりしますが、追加のインスタンスで構造を保持する必要がありますNSArrayNSArrayそのため、セクションごとに新しいものを使用してください。

for (int i=0; i<[DateSortArry2 count]; i++) {
    NSMutableArray *section = [NSMutableArray array];
    for (int j=0; j<[DateSortArry2Copy count]; j++) { 
        NSString *sectiondateStr2 = [NSString stringWithFormat:@"%@",[DateSortArry2Copy objectAtIndex:j]];    
        if ([[DateSortArry2 objectAtIndex:i] isEqualToString:sectiondateStr2]) {  
            [section addObject:sectiondateStr2];   
        }
    }
    [SumArry addObject:section];
}
于 2013-03-30T02:58:52.873 に答える
2

別の配列 (または任意のタイプのオブジェクト) への参照を配列に格納できます。

[myMutableArray addObject:otherArray];

または、配列を連結します。

[myMutableArray addObjectsFromArray:otherArray];

どちらもドキュメントに記載されています。見たところ、最初のアプローチは、あなたがしたいのであなたが望むものNSArrayですNSMutableArray

于 2013-03-30T02:58:59.107 に答える