###前提・実現したいこと
TableViewのCellにある文字列をUISearchBarで検索をしその文字列がヒットしたら表示されるというプログラムを現在書いているのですが、どうにも上手く動きません。
定数Titleの中にある文字列がヒットしたら表示させるという事を func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {}の中に書いてみたのですが、自分が見た所どこがおかしいのかさっぱりです。。
原因がわからないので是非ご教授よろしくお願いいたします。
###該当のソースコード
Swift
1 2import UIKit 3 4class ViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate{ 5 6 //TableViewのoutlet 7 @IBOutlet weak var allBusTableView: UITableView! 8 9 //サーチバーのoutlet 10 @IBOutlet weak var searchBar1: UISearchBar! 11 12 //searchBar検索結果配列 13 var searchResult = [String]() 14 15 let imageFile = ["cat1.jpg", "cat2.jpg", "dog1.jpg", "dog2.jpg"] 16 //タイトルの説明 17 let Title = ["猫1","猫2","猫3"] 18 19 //セルの説明 20 let imageDescription = [ "猫1です","猫2です","猫3です"] 21 22 override func viewDidLoad() { 23 super.viewDidLoad() 24 25 searchBar1.delegate = self 26 27 searchBar1.enablesReturnKeyAutomatically = true 28 29 searchResult = Title 30 } 31 32 override func didReceiveMemoryWarning() { 33 super.didReceiveMemoryWarning() 34 } 35 36 //セルの個数を指定するデリゲードメソッド(必須) 37 func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 38 39 return Title.count 40 } 41 42 //セルの値を設定するデリゲードメソッド(必須) 43 func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 44 //セルを取得 45 let cell = tableView.dequeueReusableCell(withIdentifier: "MyCell") as! CustomTableViewCell 46 47 cell.setCell(imageFile[indexPath.row], titleText: Title[indexPath.row], descriptionText: imageDescription[indexPath.row]) 48 49 return cell 50 } 51 52 func searchBarSearchButtonClicked(_ searchBar: UISearchBar) { 53 searchBar.endEditing(true) 54 } 55 56 //検索結果ボタン押下時のメソッド 57 func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) { 58 //検索結果配列を空にする 59 searchResult.removeAll() 60 61 if(searchBar1.text == "") { 62 searchResult = Title 63 } else { 64 for data in Title { 65 if data.contains(searchBar1.text!) { 66 searchResult.append(data) 67 } 68 } 69 } 70 allBusTableView.reloadData() 71 } 72}
###補足情報(言語/FW/ツール等のバージョンなど)
xcode8.0/swift3.0
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/04/16 13:05