このメソッドを 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; }