ASIHTTPRequest / ASIFormDataRequest中的EXC_BAD_ACCESS

时间:2012-02-15 22:08:39

标签: iphone objective-c asihttprequest asiformdatarequest

我使用ASIFormDataRequest遇到了问题。请求似乎已经发出,但是当我尝试访问请求后,我收到EXC_BAD_ACCESS错误。环顾四周后,我发现我正在做的事情没有问题,因此我转向这里。谁能发现我做错了什么?

我掌握了代码here的基础知识。

- (void)viewDidLoad
{
    /* Stuff here */
    NSURL *url = [NSURL URLWithString:@"http://www.mysite.com/login"];
    ASIFormDataRequest *request1 = [ASIFormDataRequest requestWithURL:url];
    [request1 setPostValue:@"email@email.com" 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 个答案:

答案 0 :(得分:1)

问题不是请求不好,而是你试图将int打印为对象。 改变这个:

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

到这个

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

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

你有效地试图说“在地址0xresponseStatusCode上打印对象”,这不是一个有效的对象。