我在NSURLConnection中遇到问题。我的didRecieveData方法没有被调用。我不知道是什么问题。我也经历了几乎所有以前的问题,但似乎没有解决。
请帮帮我。 这是我的代码。
-(void)gettheJSONdata
{
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:_serverAddress cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:10];
[request setHTTPMethod: @"GET"];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
NSLog(@"This is displayed");
}
-(void)connection:(NSURLConnection*)connection didReceiveData:(NSData *)data
{
NSLog(@"This is not displayed.");
AppAppDelegate *JSONdata = (AppAppDelegate*)[[UIApplication sharedApplication] delegate];
JSONdata.userloginJSONdata = [[NSData alloc] initWithData:data];
NSError *error;
_result = [NSJSONSerialization JSONObjectWithData:JSONdata.userloginJSONdata options:NSJSONReadingMutableContainers error: &error];
NSString *test = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding];
NSLog(@"Json data : %@",test);
}
-(void) connectionDidFinishLoading:(NSURLConnection*) connection
{
AppAppDelegate *resultofJSONdata = (AppAppDelegate*)[[UIApplication sharedApplication] delegate];
resultofJSONdata.JSONdataresult = _result;
}
答案 0 :(得分:0)
您没有启动请求。你需要:
[connection start];
或
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self startImmediately:YES];
编辑:我的评论下面的方法名称不正确。尝试实施两者:
- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response
和
- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
看看其中任何一个是否被击中。
答案 1 :(得分:0)
最后我解决了这个问题。 我没有合成JSONdataresult。
我没有意识到这可能会导致NSURLConnection出现问题。
答案 2 :(得分:0)
在我的案例标题中没有连接didReceiveData没有被调用,如果请求需要,请务必添加授权,
[urlRequest setValue:[UserContext sharedInstance].requesthandler.reqHeader forHTTPHeaderField:@"Authorization"];