回答編集履歴
6
修正
answer
CHANGED
@@ -30,7 +30,10 @@
|
|
30
30
|
closure(num: num1 + 1)
|
31
31
|
}
|
32
32
|
|
33
|
+
// Trailing Closuresを使用しない書き方
|
34
|
+
closureMethod (num1: 5, closure: { (num) in print(num) })
|
35
|
+
|
33
|
-
// 引数の最後がクロージャーなのでTrailing Closures
|
36
|
+
// 引数の最後がクロージャーなのでTrailing Closuresを使用した書き方
|
34
37
|
closureSample (num1: 5){ (num) in // (_) ワイルドカードによって明示的に値を受けないようにできます。
|
35
38
|
|
36
39
|
//=> 6
|
5
修正
answer
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
> 計算型プロパティの中の
|
2
2
|
|
3
|
-
こ
|
3
|
+
この場合は初期化処理のクロージャーの中のという感じになると思います。
|
4
4
|
|
5
5
|
|
6
6
|
|
@@ -26,7 +26,7 @@
|
|
26
26
|
// 引数でわたされた値を+1してクロージャーで返すメソッド
|
27
27
|
func closureSample(num1 num1 : Int, closure: (num: Int) -> ()) {
|
28
28
|
|
29
|
-
// クロージャーの処理を実行
|
29
|
+
// クロージャーの処理を実行、これを実行すると呼び出した方のブロックの中が呼ばれ、引数が渡されます。
|
30
30
|
closure(num: num1 + 1)
|
31
31
|
}
|
32
32
|
|
4
修正
answer
CHANGED
@@ -16,7 +16,7 @@
|
|
16
16
|
※`loginAction.enabled = false`となっているので、押されない前提かとおもいますが・・・
|
17
17
|
|
18
18
|
|
19
|
-
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように`action`に`UIAlertAction`の値が戻ってきます。
|
19
|
+
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように書くと`action`に`UIAlertAction`の値が戻ってきます。
|
20
20
|
|
21
21
|
その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。
|
22
22
|
|
3
修正
answer
CHANGED
@@ -1,4 +1,10 @@
|
|
1
|
+
> 計算型プロパティの中の
|
2
|
+
|
3
|
+
こちらは初期化処理のクロージャーの中のという感じになると思います。
|
4
|
+
|
5
|
+
|
6
|
+
|
1
|
-
この書き方はClosureという書き方になります。
|
7
|
+
`{ (_) in }`このような書き方はClosureという書き方になります。
|
2
8
|
詳しくは以下を参照
|
3
9
|
[[Swift] Closureについてメモ](http://qiita.com/edo_m18/items/1d93af7de75c6d415f19)
|
4
10
|
|
@@ -6,6 +12,10 @@
|
|
6
12
|
public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Void)?)
|
7
13
|
```
|
8
14
|
使用しているメソッドの定義は上記のようになっています。
|
15
|
+
アラートのアクションを生成して、アラートのボタンが押された場合に`{ (_) in }`のブロックの中がよばれます。
|
16
|
+
※`loginAction.enabled = false`となっているので、押されない前提かとおもいますが・・・
|
17
|
+
|
18
|
+
|
9
19
|
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように`action`に`UIAlertAction`の値が戻ってきます。
|
10
20
|
|
11
21
|
その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。
|
2
修正
answer
CHANGED
@@ -6,20 +6,21 @@
|
|
6
6
|
public convenience init(title: String?, style: UIAlertActionStyle, handler: ((UIAlertAction) -> Void)?)
|
7
7
|
```
|
8
8
|
使用しているメソッドの定義は上記のようになっています。
|
9
|
-
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように`UIAlertAction`の値が戻ってきます。
|
9
|
+
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように`action`に`UIAlertAction`の値が戻ってきます。
|
10
10
|
|
11
11
|
その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。
|
12
12
|
|
13
13
|
|
14
14
|
★ 簡単なクロージャーの例
|
15
15
|
```swift
|
16
|
-
// 引数
|
16
|
+
// 引数でわたされた値を+1してクロージャーで返すメソッド
|
17
17
|
func closureSample(num1 num1 : Int, closure: (num: Int) -> ()) {
|
18
18
|
|
19
19
|
// クロージャーの処理を実行
|
20
20
|
closure(num: num1 + 1)
|
21
21
|
}
|
22
22
|
|
23
|
+
// 引数の最後がクロージャーなのでTrailing Closuresが使用できます。
|
23
24
|
closureSample (num1: 5){ (num) in // (_) ワイルドカードによって明示的に値を受けないようにできます。
|
24
25
|
|
25
26
|
//=> 6
|
1
修正
answer
CHANGED
@@ -8,4 +8,21 @@
|
|
8
8
|
使用しているメソッドの定義は上記のようになっています。
|
9
9
|
`handler: ((UIAlertAction) -> Void)?)`の部分が`{ (_) in }`の部分に当たりまして、`{ (action) in }`のように`UIAlertAction`の値が戻ってきます。
|
10
10
|
|
11
|
-
その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。
|
11
|
+
その値を使用しない場合は`_` (ワイルドカードといいます)を使用して、使わないことを明示しています。
|
12
|
+
|
13
|
+
|
14
|
+
★ 簡単なクロージャーの例
|
15
|
+
```swift
|
16
|
+
// 引数の最後がクロージャーなのでTrailing Closuresが使用できます。
|
17
|
+
func closureSample(num1 num1 : Int, closure: (num: Int) -> ()) {
|
18
|
+
|
19
|
+
// クロージャーの処理を実行
|
20
|
+
closure(num: num1 + 1)
|
21
|
+
}
|
22
|
+
|
23
|
+
closureSample (num1: 5){ (num) in // (_) ワイルドカードによって明示的に値を受けないようにできます。
|
24
|
+
|
25
|
+
//=> 6
|
26
|
+
print(num)
|
27
|
+
}
|
28
|
+
```
|