2013-07-15 12 views
-4

웹 서비스에서 데이터를 가져 오는 중입니다. NSDictionary에 넣고 valueForKey 메서드를 사용하여 배열에 데이터를 바인딩하는 중입니다. 17 개의 요소가 있지만 카운트는 1로 디스패치됩니다. 첫 번째 데이터는 큰 따옴표를 사용합니다. 샘플 코드는 다음과 같습니다.Nsdictionary 데이터가 잘못 표시됩니다.

- (void)BarChartfetchedData:(NSData *)responseData { 

    NSError* error; 
    NSDictionary* json = [NSJSONSerialization JSONObjectWithData:responseData options:kNilOptions error:&error]; 
    BarChartDictionary = [json objectForKey:@"Report_DashboardDetailProfitBranchResult"]; 
    NSArray * new = [[NSArray alloc]initWithObjects:[BarChartDictionary valueForKey:@"ProfitAmount"],nil]; 

    NSLog(@"mypieclass.itemArray: %@ ",new); 
    NSLog(@"Total: %lu ",(unsigned long)[new count]); 
    NSLog(@"BarChartDictionary: %lu ",(unsigned long)[BarChartDictionary count]); 
} 

필요 없음 어떻게해야하는지, 어떤 제안이 도움이 될 것입니다.

+0

데이터를 표시해야합니다. – vikingosegundo

+1

이 질문은 중요한 정보가 누락되었습니다. 구문 분석이 필요하지만 파싱해야하는 데이터는 표시되지 않습니다. – vikingosegundo

+0

nslog 이미지를 추가했지만 이미지를 추가 할 수없는 10 개의 평판이 없습니다. –

답변

2

NSArray * new = [[NSArray alloc]initWithArray:[BarChartDictionary valueForKey:@"ProfitAmount"]]; // if not using ARC you will have to release it. 

하거나

NSArray *new = BarChartDictionary[@"ProfitAmount"]; 

세서미 스트리트 손 인형의 explan 시도 ation :

( // <- begin top level array 
    (// <- begin first element in top level array. it is another array, a nested array 
     "16291443.69", // <- first element in the nested array 
     6621797,  // <- second element in the nested array 
     5692671, 
     2477348, 
     2362607, 
     2281261, 
     886410, 
     848799, 
     762441, 
     706688, 
     497076, 
     492402, 
     188320, 
     124595, 
     96625, 
     62905, 
     60200  // <- last element in the nested array 
    ) // <- end first element in top level array 
) // <- end top level array 

-> 최상위 배열에는 요소가 있습니다. 그것은 17 개의 요소를 가진 다른 배열입니다.

+0

배열의 최상위 값만 표시하지만 nsarray의 17 개 데이터가 모두 필요하므로 piechart에 표시 할 수 있습니다. –

+0

배열의 값이 최상위 : 정렬. – vikingosegundo

+0

죄송합니다. 정확하지 않습니다. –

0

사전 개체가 17 값으로 올바르게 인쇄되고 있습니까? 사전 자체가 올 바르면 사전의 수를 다른 방식으로 구문 분석해야 할 수도 있습니다.

잘못된 형식으로 카운트를 인쇄하는 경우가있을 수 있습니다. 실제로는 서명되지 않은 길이가 길지 않으므로 서명되지 않은 상태로 캐스팅하므로 컴파일러에서 경고를 표시하지 않습니다.

+0

카운트가 중요하지 않습니다. 단지 정보를 추가하기 위해이 배열을 파이 차트에 추가 할 때 정보를 추가했습니다. 2013-07-15 19:11:45.959 SubhamDashboard [11363 : c07] myPieClass.itemArray : ( ( ) "16291443.69" 6,621,797, 5,692,671, 2,477,348, 2,362,607, 2,281,261, 886,410, 848,799, 762,441, 706,688, 497,076, 492,402, 188,320, 124,595, 96,625, 62,905,) ) 2013-07-15 19:11:45.960 SubhamDashboard [11363 : c07] 합계 : 1 –

관련 문제