回答編集履歴

1

修正

2016/07/16 08:25

投稿

_Kentarou
_Kentarou

スコア8490

test CHANGED
@@ -3,6 +3,12 @@
3
3
 
4
4
 
5
5
  `UISearchController`を表示して、ユーザーがテキストフィールドに文字を入力した場合`updateSearchResultsForSearchController`というメソッドが呼ばれます、そちらで入力した文字列を取得できるのでその文字列をAPIに対して渡せば良いと思います。
6
+
7
+
8
+
9
+ `UISearchController`の使い方参考
10
+
11
+ [【Swift】Search Controllerの使い方。検索されたら検索結果用のビューコントローラーを呼び出す。](http://hajihaji-lemon.com/smartphone/swift/uisearchcontroller/)
6
12
 
7
13
 
8
14
 
@@ -12,13 +18,13 @@
12
18
 
13
19
 
14
20
 
15
-
16
-
17
21
  class ViewController: UIViewController, UISearchResultsUpdating {
18
22
 
19
23
 
20
24
 
21
25
  var searchController = UISearchController(searchResultsController: nil)
26
+
27
+ @IBOutlet weak var myTableView: UITableView!
22
28
 
23
29
 
24
30
 
@@ -38,7 +44,49 @@
38
44
 
39
45
  // ここでAPIに対してリクエストを送信する
40
46
 
47
+
48
+
49
+ let url = NSURL(string: "指定のURL")!
50
+
51
+ let request = NSMutableURLRequest(URL: url)
52
+
53
+ let config = NSURLSessionConfiguration.defaultSessionConfiguration()
54
+
55
+ let session = NSURLSession(configuration: config, delegate: nil, delegateQueue: NSOperationQueue.mainQueue())
56
+
57
+
58
+
59
+ let task = session.dataTaskWithRequest(request) { data, response, error in
60
+
61
+
62
+
63
+ // メインスレッドで実行される
64
+
65
+ if let response = response, data = data {
66
+
67
+
68
+
41
- // 返却されたデータをパースしてテーブルなどに表示する
69
+ // 取得したデータをパースしてテーブルに表示
70
+
71
+
72
+
73
+ self.myTableView.reloadData()
74
+
75
+
76
+
77
+ } else {
78
+
79
+ print(error)
80
+
81
+ }
82
+
83
+ }
84
+
85
+
86
+
87
+ task.resume()
88
+
89
+
42
90
 
43
91
  print(searchController.searchBar.text)
44
92