Requirement : i need to filter the JSON data in UITableView with UISearchBar so i placed UISearchBar (not UISearchBarController) to top of my view controller and i placed UITableView below to the UISearchBarand I also have api key which contains data in json format .
code in my view controller:
 class FourthViewController: UIViewController,UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate,UITabBarControllerDelegate,UISearchDisplayDelegate{
   var arrDict = NSMutableArray()
   var FilteredData = NSMutableArray()
    var userid:String!
    @IBOutlet var SearchButton: UISearchBar!
    @IBOutlet var SlideShow: ImageSlideshow!
    @IBOutlet var MyTableView: UITableView!
    @IBOutlet var PostButton: UIButton!
    override func viewDidLoad() {
    super.viewDidLoad()
     self.navigationController?.navigationBar.hidden = true
     SearchButton.delegate = self
    jsonParsingFromURL()
        SlideShow.backgroundColor = UIColor.whiteColor()
        SlideShow.slideshowInterval = 5.0
        SlideShow.pageControlPosition = PageControlPosition.UnderScrollView
        SlideShow.pageControl.currentPageIndicatorTintColor = UIColor.lightGrayColor()
        SlideShow.pageControl.pageIndicatorTintColor = UIColor.blackColor()
        SlideShow.contentScaleMode = UIViewContentMode.ScaleAspectFill
        SlideShow.setImageInputs(alamofireSource)
           }
func jsonParsingFromURL () {
    if Reachability.isConnectedToNetwork() == true
    {
    Alamofire.request(.GET, "http://something.com", parameters: nil, encoding: .URL, headers: nil).response { (req, res, data, error) -> Void in
        let dataString = NSString(data: data!, encoding:NSUTF8StringEncoding)
        print(dataString)
        self.startParsing(data!)
    }
    }
    else{
        let alert = UIAlertController(title: "No Internet Connection", message: "make sure your device is connected to the internet", preferredStyle: UIAlertControllerStyle.Alert)
        alert.addAction(UIAlertAction(title: "OK", style: UIAlertActionStyle.Default, handler: nil))
        self.presentViewController(alert, animated: true, completion: nil)
    }
}
func startParsing(data :NSData)
{
    let dict: NSDictionary!=(try! NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers)) as! NSDictionary
    for i in 0  ..< (dict.valueForKey("ads") as! NSArray).count
    {
        arrDict.addObject((dict.valueForKey("ads") as! NSArray) .objectAtIndex(i))
    }
    MyTableView.reloadData()
}
func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
          return arrDict.count
}
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("FirstCell") as! FirstTableViewCell
    let strTitle : NSString=arrDict[indexPath.row] .valueForKey("categoryname") as! NSString
    let photoImage : NSString=arrDict[indexPath.row] .valueForKey("image1") as! NSString
    let SecondImage : NSString=arrDict[indexPath.row] .valueForKey("image2") as! NSString
     let ThirdImage : NSString=arrDict[indexPath.row] .valueForKey("image3") as! NSString
     let FourthImage : NSString=arrDict[indexPath.row] .valueForKey("image4") as! NSString
    let URL_API_HOST2:String = "https://www.imagestring.com/"
  //  let FourthData = NSData(contentsOfURL: NSURL(string: URL_API_HOST2 + (FourthImage as String))!)
    cell.image1.sd_setImageWithURL(NSURL(string: URL_API_HOST2 + (photoImage as String)))
    cell.image2.sd_setImageWithURL(NSURL(string: URL_API_HOST2 + (SecondImage as String)))
         // cell.image2.image = UIImage(data: SecData!)
    cell.image3.sd_setImageWithURL(NSURL(string: URL_API_HOST2 + (ThirdImage as String)))
    cell.image4.sd_setImageWithURL(NSURL(string: URL_API_HOST2 + (FourthImage as String)))
    cell.CategoryName.text = strTitle as String
    return cell
    }
Issue : I have already loaded one api key which is known as category..now i need fetch subcategory data using search bar..subcategory has another api....
                        
Apple statement : UISearchController object manages the display of search results based on interactions with a search bar. description here
If you'r using
UISearchBarIf you'r using
UITextField