我使用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);
}
}
答案 0 :(得分:1)
问题不是请求不好,而是你试图将int打印为对象。 改变这个:
NSLog(@"Request FInished: %@", thisRequest.responseStatusCode);
到这个
NSLog(@"Request FInished: %d", thisRequest.responseStatusCode);
或
NSLog(@"Request FInished: %@", thisRequest);
(如果您要打印完整的请求说明)
你有效地试图说“在地址0xresponseStatusCode上打印对象”,这不是一个有效的对象。