2013-08の書きかけの記事の再編集投稿です。
Xcode 4.6.3, iOS 6 当時の情報になります。
REST風な通信をObjective-Cでの巻き。
wikipedia: REST
良くわかってないけど。。。
XML送信してXML受信する感じって思ってる。
- (id) requestWithURL:(NSURL *)urlWithString parameterWithString:(NSString *)parameterWithString didFailWithError:(NSError **)didFailWithError { // URLRequest NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:urlWithString]; // set header XML [request setValue:@"application/xml" forHTTPHeaderField:@"Content-type"]; // set POST [request setHTTPMethod:@"POST"]; // set XML to body [request setHTTPBody:[parameterWithString dataUsingEncoding:NSUTF8StringEncoding]]; // response(結果) NSHTTPURLResponse *response = nil; // error NSError *error = nil; // 戻り値, 送信 NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error]; // error if (error) { data = nil; NSString *errorMessage = [NSString stringWithFormat:@"サーバ通信エラー {%ld}", (long)error.code]; NSDictionary *info = nil; if (error.localizedDescription == nil) { info = @{NSLocalizedDescriptionKey: errorMessage}; } else { info = @{NSLocalizedDescriptionKey: errorMessage, NSLocalizedRecoverySuggestionErrorKey: error.localizedDescription}; } *didFailWithError = [[NSError alloc] initWithDomain:@"com.example.applicationname" code:123 userInfo:info]; } return data; } |
errorが無かったらXMLが返ってきて後はパースする予定。
ピンバック: Objective-C事始め - XMLをパースしてNSDictionaryへ « イナヅマTVログ