teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

情報追加2

2019/08/22 06:26

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -41,4 +41,7 @@
41
41
 
42
42
  resume()に(namelist: [string])として引数を持たせるか、
43
43
  もしくはメンバー変数に値が既にセットされているので、
44
- そのままresume()の中で、nameListを使えば値は引き継がれている状態になります。
44
+ そのままresume()の中で、nameListを使えば値は引き継がれている状態になります。
45
+
46
+ さらにですが、現在の記述方法だと、task.resume()はダウンロード処理が完了前に実行されてしまうことになるので、
47
+ task.resume()内でnameListの値を用いたい場合は書き方を変える必要が出てきますよ。

1

追記

2019/08/22 06:26

投稿

hameji
hameji

スコア1380

answer CHANGED
@@ -18,4 +18,27 @@
18
18
  }
19
19
  print("nameListの中身:", nameList) // 念の為、確認用に追加してみました。
20
20
 
21
- ```
21
+ ```
22
+
23
+ 「get()で出力したいです」を見落としてました。
24
+ fuzzballさんのいうようにどういうふうに使いたいのですか?
25
+
26
+ 出力する = 返値を設定するが一般的ですが、
27
+ func get() -> [String] とすればできますが、
28
+ 肝心の、get()を用いているとこで、
29
+
30
+ ```Swift
31
+ func searchBarSearchButtonClicked(_ searchBar:UISearchBar) {
32
+ print("検索")
33
+ print(searchBar.text!)
34
+ get()
35
+ }
36
+ ```
37
+ となっているので、get()からデータが出てきても利用しておりません。
38
+
39
+ get()の中で、task.resume()としてるので、
40
+ task.resume()に渡したい? ということであれば、
41
+
42
+ resume()に(namelist: [string])として引数を持たせるか、
43
+ もしくはメンバー変数に値が既にセットされているので、
44
+ そのままresume()の中で、nameListを使えば値は引き継がれている状態になります。