回答編集履歴

2

修正

2016/03/26 08:10

投稿

_Kentarou
_Kentarou

スコア8490

answer CHANGED
@@ -51,7 +51,7 @@
51
51
  var delegate: ProtocolA!
52
52
 
53
53
  func something() {
54
- // クラスAインスタンスに対してmethodA()を呼び出す
54
+ // プロトコルAに適合しているインスタンスに対してmethodA()を呼び出す
55
55
  delegate.methodA()
56
56
  }
57
57
  }

1

追記

2016/03/26 08:10

投稿

_Kentarou
_Kentarou

スコア8490

answer CHANGED
@@ -1,16 +1,23 @@
1
- Delegate & Protocol の簡単な例
1
+ Delegate & Protocol の簡単な例
2
+ ---
2
3
 
3
4
  ・「プロトコルA」を「UITextFieldDelegate」
4
- ・「クラスA」 を「ViewController」
5
+ ・「クラスA」 を「ViewController」
5
- ・「クラスB」 を「UITextField」
6
+ ・「クラスB」 を「UITextField」
6
- ・「methodA」 を「func textFieldShouldReturn(textField: UITextField) -> Bool 」
7
+ ・「methodA」 を「func textFieldShouldReturn(textField: UITextField) -> Bool 」
7
8
  と置き換えると分かりやすいかと思います。
8
9
 
9
10
  ※func textFieldShouldReturn(textField: UITextField) -> Boolは以下で質問されているメソッドです。
10
11
  こちらはoptional扱いなので実装が必須ではありませんが、、、
11
12
  [superクラスのメソッドをoverrideせずに上書きしている?](https://teratail.com/questions/30717)
12
13
 
14
+ ---
13
15
 
16
+ UITextFieldクラスには同じ様にUITextFieldDelegateプロトコル型の変数が定義してあります。
17
+ ![image2](7eba36ac8e8aadeeb7b2e0cd137fddd9.png)
18
+
19
+
20
+
14
21
  ```swift
15
22
 
16
23
  // プロトコルAを定義(プロトコルAに準拠したものは、必ずmethodAを実装しなければいけない)