iOs receivedData from NSURLConnection is nil

Posted by yhl on Stack Overflow See other posts from Stack Overflow or by yhl
Published on 2012-11-29T04:57:52Z Indexed on 2012/11/29 5:03 UTC
Read the original article Hit count: 193

Filed under:
|
|

I was wondering if anyone could point out why I'm not able to capture a web reply. My NSLog shows that my [NSMutableData receivedData] has a length of 0 the entire run of the connection. The script that I hit when I click my login button returns a string. My NSLog result is pasted below, and after that I've pasted both the .h and .m files that I have.

NSLog Result

2012-11-28 23:35:22.083 [12548:c07] Clicked on button_login
2012-11-28 23:35:22.090 [12548:c07] theConnection is succesful
2012-11-28 23:35:22.289 [12548:c07] didReceiveResponse
2012-11-28 23:35:22.290 [12548:c07] didReceiveData
2012-11-28 23:35:22.290 [12548:c07] 0
2012-11-28 23:35:22.290 [12548:c07] connectionDidFinishLoading
2012-11-28 23:35:22.290 [12548:c07] 0

ViewController.h

#import <UIKit/UIKit.h>

@interface ViewController : UIViewController

// Create an Action for the button.
- (IBAction)button_login:(id)sender;

// Add property declaration.
@property (nonatomic,assign) NSMutableData *receivedData;

@end

ViewController.m

#import ViewController.h

@interface ViewController ()
@end

@implementation ViewController

@synthesize receivedData;

- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)response {
    NSLog(@"didReceiveResponse");    
    [receivedData setLength:0];
}

- (void)connection:(NSURLConnection *)connection didReceiveData:(NSData *)data {    
    NSLog(@"didReceiveData");    
    [receivedData appendData:data];
    NSLog(@"%d",[receivedData length]);
}

- (void)connectionDidFinishLoading:(NSURLConnection *)connection {    
    NSLog(@"connectionDidFinishLoading");
    NSLog(@"%d",[receivedData length]);
}

- (IBAction)button_login:(id)sender {

    NSLog(@"Clicked on button_login");    
    NSString *loginScriptURL = [NSString stringWithFormat:@"http://www.website.com/app/scripts/login.php?"];

    NSMutableURLRequest *theRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:loginScriptURL]];

    NSString *postString = [NSString stringWithFormat:@"&paramUsername=user&paramPassword=pass"];
    NSData *postData = [postString dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];

    [theRequest setHTTPMethod:@"POST"];
    [theRequest setHTTPBody:postData];

    // Create the actual connection using the request.
    NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:theRequest delegate:self];

    // Capture the response
    if (theConnection) {        
        NSLog(@"theConnection is succesful");        
    } else {        
        NSLog(@"theConnection failed");
    }
}
@end

© Stack Overflow or respective owner

Related posts about objective-c

Related posts about ios