回答編集履歴

4

2018/05/26 09:15

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- なので実行を後にすると戻り値を変数で受けて後からメソッドの様に実行できます。
41
+ なので実行`()`しないで、クロージャーを変数で受けて後からメソッドの様に実行できます。
42
42
 
43
43
 
44
44
 

3

s

2018/05/26 09:15

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 少し省略されているので、省略しないと以下の様に引数を取らず`UITableView`を返す関数ということになります。
5
+ 少し省略されているので、省略しないと以下の様に`引数`を取らず`UITableView`を返す関数ということになります。
6
6
 
7
7
 
8
8
 
@@ -34,4 +34,44 @@
34
34
 
35
35
 
36
36
 
37
+ 最後についている`()`がその関数を呼び出して実行しています。
38
+
39
+
40
+
41
+ なので実行を後にすると戻り値を変数で受けて後からメソッドの様に実行できます。
42
+
43
+
44
+
45
+ ```swift
46
+
47
+
48
+
49
+ let createTable = { () -> UITableView in
50
+
51
+
52
+
53
+ let tableView = UITableView(frame: self.view.bounds, style: .plain)
54
+
55
+ tableView.autoresizingMask = [
56
+
57
+ .flexibleWidth,
58
+
59
+ .flexibleHeight
60
+
61
+ ]
62
+
63
+ self.view.addSubview(tableView)
64
+
65
+ return tableView
66
+
67
+ }
68
+
69
+
70
+
71
+ self.tableView = createTable()
72
+
73
+ ```
74
+
75
+
76
+
37
77
  参考URL: [Swiftでクロージャ (Closure)を簡単にまとめてみる](https://qiita.com/tajihiro/items/332fe94a25209f1e80c1)

2

s

2018/05/26 09:13

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,6 +1,36 @@
1
1
  その書き方は`closure`(クロージャー)と言います。
2
2
 
3
+
4
+
5
+ 少し省略されているので、省略しないと以下の様に引数を取らず`UITableView`を返す関数ということになります。
6
+
7
+
8
+
9
+ ```swift
10
+
11
+
12
+
13
+ self.tableView = { () -> UITableView in
14
+
15
+
16
+
17
+ let tableView = UITableView(frame: self.view.bounds, style: .plain)
18
+
3
- 名前のない関数で、この場合はその場で実行しています。
19
+ tableView.autoresizingMask = [
20
+
21
+ .flexibleWidth,
22
+
23
+ .flexibleHeight
24
+
25
+ ]
26
+
27
+ self.view.addSubview(tableView)
28
+
29
+ return tableView
30
+
31
+ }()
32
+
33
+ ```
4
34
 
5
35
 
6
36
 

1

a

2018/05/26 09:09

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -1,6 +1,6 @@
1
1
  その書き方は`closure`(クロージャー)と言います。
2
2
 
3
-
3
+ 名前のない関数で、この場合はその場で実行しています。
4
4
 
5
5
 
6
6