當我在xcode調試模式下調查此方法時,構建請求時會發生一些奇怪的事情。
使用requestWithURL形成請求時,url更改也丟失
- 額外字符被添加到urlString。例如,如果SessionId =「abc」,那麼在執行從NSURLRequest * request ...開始的行之後,調試器顯示SessionUrlString =「... session/abc \ x03」而不是簡單地「... session/abc 」。儘管調試器仍然顯示SessionId =「abc」。爲什麼是這樣?
儘管其構造函數只是將該url作爲變量,但請求對象在任何地方都不會包含網址 。它去了哪裏?它是否存儲在AFHTTPCLient對象某處的請求對象中?
- (NSObject的*)makeRequestForSessionUsingId:(的NSString *)的SessionID {
的NSString * baseSessionURLString = [kCwAPIBaseURLString stringByAppendingString:@ 「會話/」]; NSString * SessionURLString = [baseSessionURLString stringByAppendingString:SessionId];
NSURL * url = [NSURL URLWithString:SessionURLString]; NSURLRequest * request = [NSURLRequest requestWithURL:url]; __block NSObject * sessionJSON = [[NSObject alloc] init];
AFJSONRequestOperation *操作= [AFJSONRequestOperation JSONRequestOperationWithRequest:請求成功:^(的NSURLRequest *請求,NSHTTPURLResponse *響應,ID JSON){ 的NSLog(@ 「IP地址:%@」,[JSON valueForKeyPath:@ 「原點」] ); sessionJSON = JSON; }失敗:無];
[操作開始]; return sessionJSON; }