ios - 루프에서 사전에 객체를 추가하면 이전 값을 덮어 씁니다.

기사 출처 ios cocoa-touch nsarray nsdictionary

세 개의 NSArray가 있는데 모두 하나의 NSDictionary로 결합하고 싶습니다. 문제는 배열을 반복하고 사전을 만들 때 이전 개체를 덮어 쓴다는 것입니다. 결국 나는 내 사전에 하나의 객체 만 가지고 있습니다. 내가 뭘 잘못하고 있죠? 내 코드는 다음과 같습니다.

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
for(int i=0; i<[array0 count]; i++) {
    [dict setObject:[array0 objectAtIndex:i] 
             forKey:@"one"];
    [dict setObject:[array1 objectAtIndex:i] f
              orKey:@"two"];
    [dict setObject:[array2 objectAtIndex:i] 
             forKey:@"three"];
}


아마도 이것이 내가 의미하는 바를 명확히 할 것입니다 ...
이것이 내가 원하는 결과입니다.

{one = array0_obj0, two = array1_obj0, three = array2_obj0},
{one = array0_obj1, two = array1_obj1, three = array2_obj1},
{one = array0_obj2, two = array1_obj2, three = array2_obj2}, 
etc


감사
여기 있습니다.

NSMutableDictionary *dict = [[NSMutableDictionary alloc] init];
for(int i=0; i<[array0 count]; i++) {
    [dict setObject:[array0 objectAtIndex:i] forKey:[NSString stringWithFormat:@"arr0_%d", i]];
    [dict setObject:[array1 objectAtIndex:i] forKey:[NSString stringWithFormat:@"arr1_%d", i]];
    [dict setObject:[array2 objectAtIndex:i] forKey:[NSString stringWithFormat:@"arr2_%d", i]];
}


수정-수정 된 질문 포함 :

self.array0 = @[@"Array0_0",@"Array0_1",@"Array0_2", @"Array0_3"];
self.array1 = @[@"Array1_0",@"Array1_1",@"Array1_2", @"Array1_3"];
self.array2 = @[@"Array2_0",@"Array2_1",@"Array2_2", @"Array2_3"];

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

for (int i=0; i< [_array0 count]; i++) {

    NSDictionary *dict = @{@"one":[_array0 objectAtIndex:i], @"two":[_array1 objectAtIndex:i],@"three":[_array2 objectAtIndex:i]};
    [finalArray addObject:dict];
}

NSLog(@"finalArray = %@", [finalArray description]);

이 질문에 대해 Stack Overflow에서 비슷한 토론을 찾았습니다: https://stackoverflow.com/questions/23983249/

관련 기사
ios - CoreData에서 타임 스탬프로 저장되는 NSDate
ios - iOS TableView는 모든 셀에 동일한 개체를 표시합니다.
ios - IOS UITableViewCells 모두 첫 번째 셀에서 뒤죽박죽, Iphone5S 장치 만 해당, 64 비트 시뮬레이터
ios - XAMARIN의 UIScrollView에서 UIView 제거
ios - 사용되지 않는 AudioSessionSetProperty 대체
ios - iAd에 광고가 표시되지 않음
ios - UISearchDisplayDelegate 메서드가 호출되지 않았습니다.
ios - Parse.com 저장 이미지 IOS
ios - NSException 유형의 포착되지 않은 예외로 인해로드 종료시 앱 충돌
ios - iOS에서 페어링 된 Bluetooth 장치를 제거하려면 어떻게합니까?