IOS
 Computer >> コンピューター >  >> プログラミング >> IOS

iPhoneの2つのViewController間で通信するための単純なデリゲートを設定します


この記事では、デリゲートとデリゲートの作成について学習します。まず第一に、

代理人とは何ですか?

デリゲートは、オブジェクト間の通信を指す単純な用語です。これは、オブジェクトを接続し、オブジェクト間の通信を行うための簡単な方法です。

デリゲートはどのように機能しますか?

プロトコルを使用してデリゲートが作成されます。プロトコルはクラスで宣言され、その中で何らかのイベントが発生し、他のクラスに通知する必要があります。プロトコルでは、関数の宣言を記述し、それを呼び出し元のクラス内で定義します。

デリゲートを作成するにはどうすればよいですか?

サンプルプロジェクトの助けを借りてこれを行います。

実行する手順-

  • クラスを作成し、FirstViewControllerという名前を付け、別のクラスを作成して、SecondViewControllerと呼びます。ストーリーボードにそれぞれのViewControllerを作成します。

  • SecondViewControllerでプロトコルを宣言します。プロトコルは、クラスまたは他のオブジェクトの外部で宣言されます。

protocol SecondViewControllerDelegate {
   func buttonPressedInVC2()
}
  • SecondViewControllerで、作成したデリゲートのオプションのオブジェクトを作成します。

var delegate: SecondViewControllerDelegate?
  • プロトコルで宣言された関数を呼び出す必要があります。SecondViewControllerでイベントが発生した場合、SecondViewControllerでボタンが押されたときに発生するイベントを作成しましょう。

@IBAction func buttonTapped(_ sender: UIButton) {
   self.delegate?.buttonPressedInVC2()
   self.navigationController?.popViewController(animated: true)
}

これはすべてSecondViewControllerで必要です。それでは、FirstViewControllerで作業しましょう。

  • FirstViewControllerをSecondViewControllerDelegateに適合/実装する必要があります。そうすると、プロトコルスタブを追加するように自動的に求められます。

extension FirstViewController: SecondViewControllerDelegate {
   func buttonPressedInVC2() { }
}
  • 実装したばかりのプロトコル内に、このデリゲートアクションが発生したときに実行するコードを記述する必要があります。

    FirstViewControllerでラベルを作成し、デリゲートメソッドが呼び出されたときにそのテキストを変更しましょう。

extension FirstViewController: SecondViewControllerDelegate {
   func buttonPressedInVC2() {
      self.lblOne.text = "Delegate Implemented"
   }
}
  • 最後の最後のステップは、SecondViewControllerのデリゲートオブジェクトはオプションであり、割り当てられるまでnilになるということです。したがって、FirstViewControllerでは、FirstViewControllerからSecondViewControllerに移動するときにそのオブジェクトを割り当てます。

    そのためにFirstViewControllerにボタンを作成しましょう。

@IBAction func goToNextVC(_ sender: Any) {
   let vc = self.storyboard?.instantiateViewController(withIdentifier: "SecondViewController") as! SecondViewController
   vc.delegate = self
   self.navigationController?.pushViewController(vc, animated: true)
}
  • また、まだ気付いていない場合は、FirstViewControllerをナビゲーションコントローラーに埋め込む必要があります。アプリを実行して、どのように機能するかを見てみましょう。

iPhoneの2つのViewController間で通信するための単純なデリゲートを設定します


  1. iPhoneでパスコードを設定する方法

    最近iPhoneを購入し、連絡先、メール、写真、その他の個人情報などのすべての個人情報を安全に保ちたい場合、最も簡単な方法の1つは、デバイスにパスコードを追加することです。これは、他の人があなたの受話器にアクセスできないようにする単純な数値(または英数字)コードです。 セットアップは非常に簡単で、以下に概説する手順に従うと、iPhoneをおせっかいなパーカーにすぐに立ち入り禁止にすることができます。最悪の事態が発生して盗まれた場合、泥棒はあなたのメッセージを読んだり、ソーシャルメディアアカウントにアクセスしたり、クレジットカードや銀行の詳細を調べたりすることができなくなります。 iPhone

  2. iPhoneでFaceIDを設定する方法

    iPhoneでFaceIDを使用すると、多くの利点があります。たとえば、スマートフォンのロックを解除したり、購入したり、アプリにログインしたりするために使用できます。その上、この機能は私たち一人一人が本当に気にかけるべき機密データの保護を担当しています。ここでは、iPhoneでFace IDを設定する方法を学習します。これには、1分以上かかることはありません。 どのiPhoneがFaceIDと互換性がありますか? 前面カメラを搭載したすべてのiPhoneがFaceIDをサポートしているわけではありません。したがって、スマートフォンがこの機能をサポートしているかどうかを確認することが重要です