2012-03-09 7 views
0

안녕 모두 어떻게 배열의 총 응답을 얻으려면 코드입니다 실제로 아래 코드에서 구현 된대로 내 문제는 다음 클래스에서 메서드를 호출 할 때 나는 배열 응답을 받고 그래서 널 plz 도움이됩니다. 아이폰 에서이 문제를 피하십시오.응답 데이터를 배열로 가져 오는 방법은 무엇입니까?

내 코드 :

- (무효) countrySelection {

NSString *jobSearchUrlString = [NSString stringWithFormat:@"http://infra2appsmobile.cloudapp.net/Infra2Apps.svc/Countries"]; 
    //NSLog(@"url for new articles is = %@",jobSearchUrlString); 
    NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:jobSearchUrlString]]; 

    NSURLConnection *theconnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
    if (theconnection) { 
     RoutData = [[NSMutableData alloc] init]; 
    } 

} 

-(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response 
{ 

    [RoutData setLength: 0]; 
} 
-(void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data 
{ 
    [RoutData appendData:data]; 

      NSString *thexml = [[NSString alloc] initWithData:RoutData encoding:NSUTF8StringEncoding]; 

    NSDictionary *dictXML= [XMLReader dictionaryForXMLString:thexml error:nil]; 

    NSMutableArray *arrStation = [[dictXML objectForKey:@"feed"] objectForKey:@"entry"] ;//this would return the array of station dictionaries 

    for (int i=0; i<[arrStation count]; i++) { 
     NSLog(@"---->> String Type Country names <<---: %@",[[[[[arrStation objectAtIndex:i] objectForKey:@"content"] objectForKey:@"m:properties"] objectForKey:@"d:CountryName"] objectForKey:@"text"]); 
     [materialarray addObject:[[[[[arrStation objectAtIndex:i] objectForKey:@"content"] objectForKey:@"m:properties"] objectForKey:@"d:CountryName"] objectForKey:@"text"]]; 

     NSLog(@"--->>** Array Type Country names **<<<---%@",materialarray); 


    } 



} 

내 반응은 :

2012-03-09 12 : 49 : 40.856 TABLESAMPLE [4862 : F803] - --- >> 문자열 유형 국가 이름 < < --- 프랑스 2012-03-09 12 : 49 : 40.867 TableSample [4862 : f803] --- >> ** 배열 유형 국가 이름 <,543,210 < --- (NULL) 2012-03-09 12 : 49 : 40.868 TABLESAMPLE [4862 : F803] ---- >> 문자열 유형 국가 이름 < < --- : MEA의 HQ 2012-03-09 12 : 49 : 40.869 TABLESAMPLE [4862 : F803] --- >> 배열 형식의 국가 이름 < < < --- (널) 2012-03-09 12 : 49 : 40.870 TABLESAMPLE [4862 : F803] - - >> 문자열 입력 나라 이름 < < --- : 이스라엘 2012-03-09 12 : 49 : 40.871 TABLESAMPLE [4862 : F803] --- >> 배열 형식의 국가 이름 < < < --- (null) 2012-03-09 12 : 49 : 40.872 TableSample [4862 : f803] ---- >> 문자열 유형 국가 이름 < < --- : 터키 2012-03-09 12 : 49 : 40.879 TableSample [4862 : f803] --- >> 어레이 유형 국가 이름 < < < --- (null) 2012-03-09 12 : 49 : 40.879 TableSample [4862 : f803] ---- >> 문자열 유형 국가 이름 < < --- : UAE 2012-03-09 12 : 49 : 40.880 TABLESAMPLE [4862 : F803] --- >> 어레이 형 국가 이름 < < < --- (NULL) 2012-03-09 12 : 49 : 40.881 TableSample [4862 : f803] ---- >> String 형 국가 이름 < < --- : SA 2012-03-09 12 : 49 : 40.881 TABLESAMPLE [4862 : F803] --- >> 배열 형식의 국가 이름 < < < --- (널) 2012-03-09 12 : 49 : 40.882 TableSample [4862 : f803] ---- >> 문자열 유형 국가 이름 < < --- : RSA 2012-03-09 12 : 49 : 41.020 TableSample [4862 : f803 ] --- >> 어레이 형 국가 이름 < < < --- (NULL) 2012-03-09 12 : 49 : 41.021 TABLESAMPLE [4862 : F803] ---- >> 문자열 유형 국가 이름 <--- : 우리 HQ 2012-03-09 12 : 49 : 41.022 TABLESAMPLE [4862 : F803] --- >> 배열 형식의 국가 이름 ** < < < --- (null가

+0

나는 대답을 알고 있지만 나는 대답을주고 싶지 않다 !! :) –

답변

2

에서 connectionDidFinishLoading 대리자 메서드를 사용하면 응답 문자열을받을 것이므로 응답 문자열에 JSONValue을 호출하면 결과가 배열로 반환됩니다.

- (void)connectionDidFinishLoading:(NSURLConnection *)connection { 
    [connection release]; 
    NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 
    NSLog(@"responseString %@",responseString); 
    self.responseData = nil; 
    NSArray *responseArray = [responseString JSONValue]; 
    [responseString release]; 
} 
+0

내 응용 프로그램에서 작동하지 않는 미안 친구 becoz 기본적으로 XML 파싱입니다. – laxmanperamalla

+0

JSON 파서 대리자 메소드를 구현하고 있습니다. XML 구문 분석을 사용하는 경우 NSXMLParser 대리자 메서드를 구현해야합니다. 여기에 대한 링크가 있습니다 : https://developer.apple.com/library/ios/#documentation/cocoa/reference/NSXMLParserDelegate_Protocol/Reference/Reference.html – Dee

1

materialarray이 할당되어 있는지 확인하십시오.

문제가있는 곳이 있다고 생각합니다.

희망이 도움이됩니다.

관련 문제