【发布时间】:2013-03-25 03:47:15
【问题描述】:
当我在 xcode 调试模式下研究这个方法时,在构造请求时会发生一些奇怪的事情。
- 额外的字符被添加到
urlString。例如if SessionId = "abc",然后在执行从NSURLRequest *request...开始的行后,调试器显示SessionUrlString = "...session/abc\x03" instead of simply "...session/abc"。尽管调试器仍然显示SessionId = "abc"。这是为什么呢? -
请求对象似乎不包含
url任何地方,即使它的构造函数只是将url作为变量。它去哪儿了?它是否存储在AFHTTPCLient对象中某处的请求对象中?-(NSObject*)makeRequestForSessionUsingId: (NSString *)SessionId{ NSString *baseSessionURLString = [kCwAPIBaseURLString stringByAppendingString:@"session/"]; NSString *SessionURLString = [baseSessionURLString stringByAppendingString:SessionId]; NSURL *url = [NSURL URLWithString:SessionURLString]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; __block NSObject *sessionJSON = [[NSObject alloc] init]; AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { NSLog(@"IP Address: %@", [JSON valueForKeyPath:@"origin"]); sessionJSON = JSON; } failure:nil]; [operation start]; return sessionJSON; }
【问题讨论】:
标签: ios objective-c httprequest afnetworking