iOSでネットワークからデータを取得する方法のいくつかの比較

1941 ワード

IOSでネットワークデータを取得するには、一般的に3つの種類があります。1、NSURLCondition(時代遅れ)2、NSURLSession  3、三方倉庫AFNetWorking
NSURLSessionはアップルのNSULRConditionの代替品で、NSURLSessionはNSURLConditionより多くなりました。
1、設定可能なデータ情報NSURLSessionConfigration、NSURLSessionConfigrationは、要求されるデータを設定できます。通常の設定はキャッシュのようにしても、デフォルトの設定情報default Congrationを使用することができます。
2、NSURLSessionとは対話であり、会話を作るたびに一つのtaskを作成して起動する必要があります。NSURLSessionには三つのtaskがあります。NSURLDownloadTask、NSURLUploadTask(アップロードデータ、get、post 1、post 2)。どのtaskも一つまたは二つの違った方法があります。知りたい友達は一つずつ試してみてもいいです。
3、断続的に継続できます。
NSULRCondition、NSURLSessionは、post 2の要求を送信する際に、多くの再利用できない複雑な要求ヘッダ情報を作成する必要があるため、NSULRConditionに造詣が深い人もいます。これらの3つのライブラリAFNetWorkingをパッケージ化して、アップルがNSURLSionを発表すると、AFNetWorkingもNSURessionのパッケージを更新しました。
したがって、AFNetWorkingでPost 2のリクエストを送るときには非常に便利になります。下にコードの一部を貼り付けます。

 [manager POST:urlStr parameters:data constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
    NSString *path=[[NSBundle mainBundle] pathForResource:@"image.png" ofType:@""];
    [formData appendPartWithFileURL:[NSURL URLWithString:path] name:@"image" fileName:@"image.png" mimeType:@"image/jpg" error:nil];//      post2              ,                     
//mimeType   5  image/png image/jpg text/json text/html video/mp4
  } success:^(AFHTTPRequestOperation *operation, id responseObject) {
    NSLog(@"resposeObject %@",responseObject);
  } failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    NSLog(@"error %@",error);
  }];
ps:iOS------データを取るための二つの取り方

NSMutableArray * dataArray =[responseDictionary valueForKeyPath:@"data.list_dic.list"];
    NSMutableArray * dataArray =responseDictionary[@"data"][@"list_dic"][@"list"];
締め括りをつける
以上は、小编でご绍介したiOSにおいて、インターネットからデータを取得するいくつかの方法の比较です。みなさんに何かご质问があれば、メッセージをください。