ホームページ ウェブフロントエンド jsチュートリアル AFN カプセル化されたネットワーク リクエストの詳細な説明

AFN カプセル化されたネットワーク リクエストの詳細な説明

Apr 16, 2018 pm 03:43 PM
通信網 詳しい説明 聞く

今回は、AFN カプセル化ネットワーク リクエストについて詳しく説明します。AFN カプセル化ネットワーク リクエストの 注意事項 について、実際のケースを見てみましょう。

プロジェクトでは、通常、ネットワーク リクエストをシングルトンにカプセル化して、プロジェクト全体のネットワーク リクエスト セッションが同じであることを誰もが知っていると思います。

単一ケース パターン定義: クラスにはインスタンスが 1 つだけあり、それをシステム全体に提供するために自身がインスタンス化されます。以下ではこれ以上詳しく説明しません。詳細な紹介を見てみましょう。

cocoaPods を通じてサードパーティのフレームワークをインポートします

01-プロジェクトディレクトリに切り替えます

cd 项目名称
ログイン後にコピー

02-ポッドの初期化

pod init
ログイン後にコピー

03-Pod ファイルを開く

open Podfile
ログイン後にコピー

04-Podfile の編集

# 设置支持最低平台
platform :ios, '8.0'
target 'TestSwiftMixAFN' do
 # 如果是Swift项目,需添加"use_frameworks!"
 use_frameworks!
pod "AFNetworking"
end
ログイン後にコピー

05-ポッドのインストール

pod install
ログイン後にコピー

カプセル化されたAFNネットワークリクエストツール

1 AFHTTPSessionManager から継承したツールクラスを作成します

import AFNetworking
class XMSessionManager: AFHTTPSessionManager {
 // ...
}
ログイン後にコピー

2 シングルトンを通じて AFHTTPSessionManager インスタンスを作成します

/// 创建网络请求单例
static let shared: XMSessionManager = XMSessionManager()
----------------------------------------------------------------
/// 如果需要设置请求的属性,可在闭包中添加
/// 在第一次访问时,执行闭包,并且将结果保存在 shared 常量中
 static let shared1: XMSessionManager = {
  // 实例化对象
  let manager = XMSessionManager()
  // 设置响应反序列化支持的数据类型
  manager.responseSerializer.acceptableContentTypes?.insert("text/plain")
  // 返回对象
  return manager
 }()
ログイン後にコピー

3 列挙を通じて、HTTPリクエストメソッド(GET/POST)

/// 枚举-请求方法
///
/// - GET: GET
/// - POST: POST
enum XMHTTPMethod {
 case GET
 case POST
}
ログイン後にコピー

を追加します 4 ネットワークリクエストメソッドをカスタマイズし、クロージャコールバックを通じて完成したデータをリクエストします

/// 封装网络请求方法
 ///
 /// - Parameters:
 /// - Method: GET/POST, 默认是GET请求
 /// - URLString: 请求地址
 /// - parameters: 参数
 /// - completed: 结束回调
 func request(Method:XMHTTPMethod = .GET, URLString: String,parameters: [String: AnyObject]?, completed:@escaping ((_ json: AnyObject?, _ isSuccess: Bool)->())) {
  /// 定义成功回调闭包
  let success = { (task: URLSessionDataTask,json: Any?)->() in
   completed(json as AnyObject?,true)
  }
  /// 定义失败回调闭包
  let failure = {(task: URLSessionDataTask?, error: Error)->() in
   completed(nil,false)
  }
  /// 通过请求方法,执行不同的请求
  // 如果是 GET 请求
  if Method == .GET { // GET
   get(URLString, parameters: parameters, progress: nil, success: success, failure: failure)
  } else { // POST
   post(URLString, parameters: parameters, progress: nil, success: success, failure: failure)
  }
 }
ログイン後にコピー

5 ネットワーク リクエスト ツールの使用

///GET 请求
  XMSessionManager.shared.request(URLString: "http:xxx", parameters: nil, completed:{(json: AnyObject?,isSuccess: Bool)-> () in
   // 请求成功
   if isSuccess {
    print(json ?? "")
   } else {
    print("请求失败")
   }
  })
///POST 请求
  XMSessionManager.shared.request(URLString: "www.xxx.xxx", parameters: ["key":"value" as AnyObject], completed:{(json: AnyObject?,isSuccess: Bool)-> () in
   // 请求成功
   if isSuccess {
    print(json ?? "")
   } else {
    print("请求失败")
   }
  })
ログイン後にコピー

この記事の事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:



以上がAFN カプセル化されたネットワーク リクエストの詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

WLAN拡張モジュールが停止しました[修正] WLAN拡張モジュールが停止しました[修正] Feb 19, 2024 pm 02:18 PM

Windows コンピュータの WLAN 拡張モジュールに問題がある場合、インターネットから切断される可能性があります。この状況はイライラすることがよくありますが、幸いなことに、この記事では、この問題を解決し、ワイヤレス接続を再び正常に動作させるのに役立ついくつかの簡単な提案を提供します。 WLAN 拡張モジュールが停止しました。 WLAN 拡張モジュールが Windows コンピュータで動作を停止した場合は、次の提案に従って修正してください。 ネットワークとインターネットのトラブルシューティング ツールを実行して、ワイヤレス ネットワーク接続を無効にし、再度有効にします。 WLAN 自動構成サービスを再起動します。 電源オプションを変更します。 変更します。詳細な電源設定 ネットワーク アダプター ドライバーを再インストールする いくつかのネットワーク コマンドを実行する それでは、詳しく見てみましょう

Windows 10 の右下に地球が表示されてインターネットにアクセスできない場合はどうすればよいですか? Win10 で地球がインターネットにアクセスできない問題のさまざまな解決策 Windows 10 の右下に地球が表示されてインターネットにアクセスできない場合はどうすればよいですか? Win10 で地球がインターネットにアクセスできない問題のさまざまな解決策 Feb 29, 2024 am 09:52 AM

この記事では、Win10のシステムネットワーク上に地球儀マークが表示されるがインターネットにアクセスできない問題の解決策を紹介します。この記事では、地球がインターネットにアクセスできないことを示す Win10 ネットワークの問題を読者が解決するのに役立つ詳細な手順を説明します。方法 1: 直接再起動する まず、ネットワーク ケーブルが正しく接続されていないこと、ブロードバンドが滞っていないかを確認します。ルーターまたは光モデムが停止している可能性があります。この場合は、ルーターまたは光モデムを再起動する必要があります。コンピュータ上で重要な作業が行われていない場合は、コンピュータを直接再起動できます。ほとんどの軽微な問題は、コンピュータを再起動することですぐに解決できます。ブロードバンドが滞っておらず、ネットワークが正常であると判断される場合は、別の問題です。方法 2: 1. [Win]キーを押すか、左下の[スタートメニュー]をクリックし、表示されるメニュー項目の電源ボタンの上にある歯車アイコンをクリックし、[設定]をクリックします。

ネットワーク接続を確認してください: lol はサーバーに接続できません ネットワーク接続を確認してください: lol はサーバーに接続できません Feb 19, 2024 pm 12:10 PM

LOL サーバーに接続できません。ネットワークを確認してください。 近年、オンラインゲームは多くの人にとって日常的な娯楽となっています。中でも、リーグ オブ レジェンド (LOL) は非常に人気のあるマルチプレイヤー オンライン ゲームであり、数億人のプレイヤーの参加と関心を集めています。ただし、LOL をプレイしているときに、「サーバーに接続できません。ネットワークを確認してください」というエラー メッセージが表示されることがあります。これは間違いなくプレイヤーに何らかの問題をもたらします。次に、このエラーの原因と解決策について説明します。まず、LOLがサーバーに接続できない問題として考えられるのは、

ネットワークが Wi-Fi に接続できない場合は何が起こっているのでしょうか? ネットワークが Wi-Fi に接続できない場合は何が起こっているのでしょうか? Apr 03, 2024 pm 12:11 PM

1. Wi-Fi パスワードを確認します。入力した Wi-Fi パスワードが正しいことを確認し、大文字と小文字の区別に注意してください。 2. Wi-Fi が適切に動作しているかどうかを確認する: Wi-Fi ルーターが正常に動作しているかどうかを確認し、同じルーターに他のデバイスを接続して、デバイスに問題があるかどうかを判断できます。 3. デバイスとルーターを再起動します。デバイスまたはルーターに誤動作やネットワークの問題が発生する場合があり、デバイスとルーターを再起動すると問題が解決する場合があります。 4. デバイスの設定を確認します。デバイスのワイヤレス機能がオンになっていて、Wi-Fi 機能が無効になっていないことを確認します。

Win11での管理者権限の取得について詳しく解説 Win11での管理者権限の取得について詳しく解説 Mar 08, 2024 pm 03:06 PM

Windows オペレーティング システムは世界で最も人気のあるオペレーティング システムの 1 つであり、その新バージョン Win11 が大きな注目を集めています。 Win11 システムでは、管理者権限の取得は重要な操作であり、管理者権限を取得すると、ユーザーはシステム上でより多くの操作や設定を実行できるようになります。この記事では、Win11システムで管理者権限を取得する方法と、権限を効果的に管理する方法を詳しく紹介します。 Win11 システムでは、管理者権限はローカル管理者とドメイン管理者の 2 種類に分かれています。ローカル管理者はローカル コンピュータに対する完全な管理権限を持っています

Windows 11 フォルダー共有ガイド: ファイルとデータを簡単に共有する Windows 11 フォルダー共有ガイド: ファイルとデータを簡単に共有する Mar 13, 2024 am 11:49 AM

日常生活や仕事では、異なるデバイス間でファイルやフォルダーを共有する必要があることがよくあります。 Windows 11 システムには便利なフォルダー共有機能が組み込まれており、個人ファイルのプライバシーを保護しながら、同じネットワーク内の他のユーザーと必要なコンテンツを簡単かつ安全に共有できます。この機能により、個人情報の漏洩を心配することなく、ファイル共有が簡単かつ効率的になります。 Windows 11 システムのフォルダー共有機能を通じて、共同作業、通信、コラボレーションがより便利になり、仕事の効率と生活の利便性が向上します。共有フォルダーを正常に構成するには、まず次の条件を満たす必要があります。 (共有に参加している) すべてのデバイスが同じネットワークに接続されている。ネットワーク探索を有効にし、共有を設定します。ターゲットデバイスを知る

Windows 10 Home Editionのパブリックネットワークがプライベートネットワークに変更されました Windows 10 Home Editionのパブリックネットワークがプライベートネットワークに変更されました Feb 12, 2024 pm 10:27 PM

私たちのコンピュータを使用するには、いくつかのハードウェアに加えて、安定したネットワークに接続する必要があります。多くの友人は、コンピュータ内のネットワークがパブリック ネットワークとプライベート ネットワークに分かれていることを発見しました。多くの人がその方法に興味を持っています。パブリック ネットワークをプライベート ネットワークに変換します。 Win10 Home Edition のパブリック ネットワークがプライベート ネットワークに変更される 1. 詳細共有センターの詳細設定 1. まず、Win+R ショートカット キーの組み合わせを直接押して実行ポップアップ ウィンドウを呼び出し、ここで「コントロール パネル」と入力します。をクリックし、「OK」をクリックしてコントロール パネルを開きます。 2. 次に、「ネットワークとインターネット」-「ネットワークと共有センター」-「詳細な共有設定の変更」を選択します。 3. 次に、より高度な共有設定インターフェイスで専用のオプションをクリックし、[有効にする] チェックボックスをオンにします。

Oracle SQLの除算演算の詳細説明 Oracle SQLの除算演算の詳細説明 Mar 10, 2024 am 09:51 AM

OracleSQL の除算演算の詳細な説明 OracleSQL では、除算演算は一般的かつ重要な数学演算であり、2 つの数値を除算した結果を計算するために使用されます。除算はデータベース問合せでよく使用されるため、OracleSQL での除算演算とその使用法を理解することは、データベース開発者にとって重要なスキルの 1 つです。この記事では、OracleSQL の除算演算に関する関連知識を詳細に説明し、読者の参考となる具体的なコード例を示します。 1. OracleSQL での除算演算

See all articles