0

テーブルビューで検索するようにUIsearchバーを作成しましたが、すべて問題ありませんが、検索を行った後、フィルター処理された配列から別のコントローラーにデータを渡したいときに問題が発生しました。

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "ahmed" {

           if let indexPath = self.tableView.indexPathForSelectedRow() {


                print(indexPath.row)

                var object = Persons[indexPath.row]
                (segue.destinationViewController as DetailViewController).name = object.name


    }
    }

}

このコードは、検索されていないデータに対して機能し、検索されたデータを渡すためにどのコードを書く必要がありますか

4

2 に答える 2

0

私はこのコードを追加し、それは動作します

 override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {

        if segue.identifier == "ahmed" {

            if((searchDisplayController?.active) != nil)
            {
                if let indexpath=searchDisplayController?.searchResultsTableView.indexPathForSelectedRow()
                {
                    var object=filtered[indexpath.row]
                    (segue.destinationViewController as DetailViewController).name = object.name


                }
            }
           if let indexPath = self.tableView.indexPathForSelectedRow() {



                print(indexPath.row)

                var object = Persons[indexPath.row]
                (segue.destinationViewController as DetailViewController).name = object.name


    }
    }

}
于 2014-09-13T18:22:27.503 に答える