5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

アイエンター大阪支店Advent Calendar 2017

Day 6

Objective-CでのwebAPI接続について

Last updated at Posted at 2017-12-05

こんにちは。

つい先日Objective-CからWebAPIに接続することがありましたので、その手法をまとめます。

##URLを作る

###まずString型でURLを生成していく

NSString *urlString = @"http://hogehoge.jp/hoge.php";

パラメータがある場合は別変数で保持する。

    NSString *idStr = [NSString stringWithFormat:@"id=%@", id];```


URLとパラメータを文字列結合する。
```NSString *urlWithParam = [NSString stringWithFormat:@"%@?%@",urlString,idStr];

###URLエンコード

String→URLへとエンコードを行う。

urlWithParam];

##接続準備
###URLからリクエストURLを生成
接続時に使用するリクエストURLを生成する。

url];

今回はサブスレッドで実行する必要があったため、処理を記載。
NSURLSession *session = [NSURLSession sessionWithConfiguration:sessionConfiguration];

##接続
###SessionDataTaskを使って接続〜判定結果による処理

NSURLSessionDataTask *task = [session dataTaskWithRequest:request
                              completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                  // 処理を書く
                                  //NSDictionary化
                                  NSDictionary *dic = [NSJSONSerialization 
                                      JSONObjectWithData:data options:0 error:nil];
                                                
                                  //判定
                                  bool *result = dic[@"return"][@"result"];
                                                
                                  if(result == true){
                                      NSLog(@"問題ありません。");
                                  }
                                  else{
                                      NSLog(@"問題があります。");              
                                  }
                                  // セッションの後始末
                                  [session invalidateAndCancel];
                              }];
    [task resume];

と上記のように書くことでWebAPIとの接続に成功しました!

##まとめ
Objective-c初心者が調べながら実装を行いましたが、情報が新しいものが少なく
少々手間取りました。
ざっとまとめさせていただきました。
先輩方から教えていただいたことが、またどなたかの役に立ちますよう!

では!

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?