UISearchDisplayController deprecated and replaced with UISearchController . And it is available in iOS 8.0 and later.
The UISearchController class defines the interface that controls the presentation of the search bar along with the search results for the contents of the controllers. The search result controller, the UIViewController object specified in the searchResultsController property, controls the search results
https://developer.apple.com/library/prerelease/ios/documentation/UIKit/Reference/UISearchController/index.html
Here is an example of how I do this with a UITableView resding in a UIViewController . Just make a few changes if you want to use with the UITableViewController ...
import UIKit class ViewController: UIViewController , UITableViewDataSource, UITableViewDelegate,UISearchResultsUpdating { @IBOutlet weak var tblView: UITableView! var tabledata = ["lucques","chickendijon","godaddy","amazon","chris","ambata","bankofamerica","abelcine","AUTO + TRANSPORTATION","BILLS + UTILITIES","FOOD + DINING","HEALTH","AutoCare", "Auto Payment" , "Gas+Fuel","Electric Bill", "Internet/Television","Fast Foodd", "Gorceries" , "Restaurants","Gym Membership", "Health Insurance","auto","note-bullet","knife","heart"] var filteredTableData = [String]() var resultSearchController = UISearchController() override func viewDidLoad() { super.viewDidLoad() tblView.delegate = self tblView.dataSource = self self.resultSearchController = ({ let controller = UISearchController(searchResultsController: nil) controller.searchResultsUpdater = self controller.dimsBackgroundDuringPresentation = false controller.searchBar.sizeToFit() controller.searchBar.barStyle = UIBarStyle.Black controller.searchBar.barTintColor = UIColor.whiteColor() controller.searchBar.backgroundColor = UIColor.clearColor() self.tblView.tableHeaderView = controller.searchBar return controller })() self.tblView.reloadData() } override func didReceiveMemoryWarning() { super.didReceiveMemoryWarning()