私はiOSプログラミングに慣れていないことから密集していると確信していますが、AFNetworkingに問題があります。具体的には、使っても何も起こりません。サーバーからの応答はありませんが、エラーも発生しません。すべてのプロパティがNULLになります。
これが私のリクエストです:
NSMutableDictionary *requestArray = [NSMutableDictionary new];
[requestArray setObject: @"getBio"
forKey: @"action"];
[requestArray setObject: @"1"
forKey: @"bioID"];
NSError * error = nil;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:requestArray options:0 error:&error];
NSString *myRequestString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSMutableURLRequest *request = [ [ NSMutableURLRequest alloc ] initWithURL: [ NSURL URLWithString: @"http://localhost/LP/JSON/Secure/bio.php" ] ];
[ request setHTTPMethod: @"POST" ];
[ request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[ request setHTTPBody: [myRequestString dataUsingEncoding:NSUTF8StringEncoding]];
リクエストをUIWebViewに渡すだけで、またはこれを使用すると、期待どおりの結果が得られるため、これは機能しているようです。
NSURLResponse *response;
NSError *err;
NSData *returnData = [ NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&err];
NSString *content = [NSString stringWithUTF8String:[returnData bytes]];
NSLog(@"responseData: %@", content);
つまり、POSTは成功し、JSONが返されます。
しかし、これらはどれも何もしません(エラーも応答もありません):
AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Data: %@ %@", [JSON valueForKeyPath:@"firstName"], [JSON valueForKeyPath:@"lastName"]);
} failure:nil];
また、骨の折れる作業でさえも機能しません。
AFURLConnectionOperation *operation = [[AFURLConnectionOperation alloc] initWithRequest:request];
明らかに、私はひどく間違ったことをしています。しかし、サイレント障害がこれを理解するのを難しくしています。
助けてくれてありがとう。
編集:
気にしないでください..私は密集しています。
NSOperationQueueを作成していませんでした。
NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:operation];
ただし、プロパティが設定されない理由はまだわかりません。しかし、少なくともデータはあるようです。