2012-02-15 65 views
1

我遇到的问题使用ASIFormDataRequest。该请求似乎已作出,但当我尝试访问该请求后,一旦完成,我得到一个EXC_BAD_ACCESS错误。环顾四周后,我看不出我在做什么,因此我转向了这里。任何人都可以发现我做错了什么吗?EXC_BAD_ACCESS在ASIHTTPRequest/ASIFormDataRequest

我得到的代码here的基础知识。

- (void)viewDidLoad 
{ 
    /* Stuff here */ 
    NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/login"]; 
    ASIFormDataRequest *request1 = [ASIFormDataRequest requestWithURL:url]; 
    [request1 setPostValue:@"[email protected]" forKey:@"email"]; 
    [request1 setPostValue:@"pass123" forKey:@"password"]; 
    [request1 setDelegate:self]; 
    [request1 startAsynchronous]; 
} 

- (void)requestFinished:(ASIHTTPRequest *)thisRequest 
{  
    NSLog(@"Request FInished: %@", thisRequest.responseStatusCode); //crashes here 

    if (thisRequest.responseStatusCode == 403){ 
     NSLog(@"403 Not authorised"); 
    } 
    if (thisRequest.responseStatusCode == 200) 
    { 
     NSLog(@"Data: %@", thisRequest.responseString); 
    } 
} 

回答

1

问题不在于请求不好,而在于您试图将int作为对象进行打印。 更改此:

NSLog(@"Request FInished: %@", thisRequest.responseStatusCode); 

这个

NSLog(@"Request FInished: %d", thisRequest.responseStatusCode); 

NSLog(@"Request FInished: %@", thisRequest);(如果你要打印完整的请求说明)

你有效地想说“打印对象的地址0xresponseStatusCode“,这不是一个有效的对象。

+0

尔加!现在我感到很傻,谢谢Philippe! – Chris 2012-02-15 22:22:03