2012-11-30 2 views
1

네트워크 작업에 MKNewtworkkit을 사용하고 있습니다. ios 앱입니다. JSONArray를 검색 할 수있는 서버에 JSONInterface가 있습니다. 나는 안드로이드 애플 리케이션과 브라우저뿐만 아니라 데이터를 가져올 수 있지만, 내가 MKNetworkkit [completedOperation responseJSON]를 사용하여 데이터를 ftech하려고하면 nil을 반환합니다. 당신은 나는 이것이 이전 게시물입니다 알고 있지만 경우에 다른 사람이 당신이해야있는 NSArray로 'responseJSON을'캐스팅되지만, 같은MKNetworkkit : 서버에서 JSONArray를 가져 오는 중

것 같습니다 ...이 우연히 만나는 날

MKNetworkEngine *network_engine= [[MKNetworkEngine alloc] initWithHostName:@"****.com"]; 
NSMutableDictionary* params=[[NSMutableDictionary alloc] initWithCapacity:3]; 
[params setObject:[self.userName text] forKey:@"user"]; 
[params setObject:[self.password text] forKey:@"password"]; 
[params setObject:@" " forKey:@"meters"]; 
MKNetworkOperation* operation =[network_engine operationWithPath:@"q/out" params:params httpMethod:@"GET" ssl:NO]; 
[operation onCompletion:^(MKNetworkOperation *completedOperation) { 
    NSLog(@"response: %@",[completedOperation responseString]); 
    @try { 
     NSArray *data_array=[completedOperation responseJSON]; 
     for (int i=0; i<[data_array count]; i++) { 
      NSDictionary *dict=[data_array objectAtIndex:i]; 
      NSString *id=[dict valueForKey:@"mid"]; 
      NSString *location=[dict valueForKey:@"location"]; 
      NSLog(@"id:%@ , location:%@",id,location); 
     } 
    } 

    @catch (NSException *exception) { 
     NSLog(@"Exception: %@",[exception name]); 
    } 

} onError:^(NSError *error) { 
     NSLog(@"Couldn't make network call"); 
}]; 
[network_engine enqueueOperation:operation]; 

답변

2

도와주세요 수 NSDictionary가되어야합니다.

은 나를 위해 작동 ->

MKNetworkOperation *op = [mkNetworkEngine operationWithURLString:CONFIG_FILE_URL]; 
[op setShouldNotCacheResponse:YES]; 

[op addCompletionHandler:^(MKNetworkOperation *completedOperation) { 

    NSLog(@"** Success downloading config file..."); 

    NSDictionary* responseJSON = completedOperation.responseJSON; 


} errorHandler:^(MKNetworkOperation *completedOperation, NSError *error) { 

    NSLog(@"** Failed downloading config file - error: %@",error); 

}]; 

[mkNetworkEngine enqueueOperation:op]; 
관련 문제