merhabalar herkse, 
öncelikle bu saçma başlıktan ötürü kusura bakmayın ne yazacağımı bulamadım. 
uygulamayı kısaca özetlersem json ile gelen veri bir table view'da yazdırılıyor, tabloda seçilen verinin detayı yeni ekranda gösteriliyor. Ben table view'a bir seachbar ekledim gelen veri içerisinde arama yapıyor ancak arama yapıtıktan sonra detaya gidildiğinde her zaman ilk gelen verideki 1. verinin detayına gidiyor. Arama ile listelenen verinin detayına gidemiyorum
filtreleme işlemindeki verileri burada tutuyorum;
  var filteredArr = String
ve gelen veride ki "name" alanınada işlem yapması için bunu kullanıyorum;
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
filteredArr = salesNameArr.filter({ (text) -> Bool in
    let txt : NSString = text as NSString
    let range = txt.range(of: searchText, options: NSString.CompareOptions.caseInsensitive)
    return range.location != NSNotFound
})
if searchText != ""{
    shouldShowSearchResults = true
    tableView.reloadData()
}
else {
    shouldShowSearchResults = false
    tableView.reloadData()
}
}
seçilen verinin detayına ise normal de bu sekilde gidiyorum ancak minik bir if le sorunu çözebilirmiyim dedim ama açıklamalardaki problem nedeniyle uygulama çakılıyor; 
 ///for showing next detailed screen with the downloaded info
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let vc = self.storyboard?.instantiateViewController(withIdentifier: "SalesDetailVC") as! SalesDetailVC
        if filteredArr == nil { //Comparing non-optional value of type '[String]' to nil always returns false
            vc.salesNameStr = salesNameArr[indexPath.row]
            vc.salesIdInt = salesIdArr[indexPath.row]
            vc.salesDateStr = salesDateArr[indexPath.row]
            vc.salesProductStr = salesProductArr[indexPath.row]
            vc.salesPriceInt = salesPricericeArr[indexPath.row]
        }
        else if filteredArr != nil  { //Comparing non-optional value of type '[String]' to nil always returns false
            vc.salesNameStr = filteredArr[indexPath.row]
            vc.salesIdInt = salesIdArr[indexPath.row]
            vc.salesDateStr = salesDateArr[indexPath.row]
            vc.salesProductStr = salesProductArr[indexPath.row]
            vc.salesPriceInt = salesPricericeArr[indexPath.row]
        }
        self.navigationController?.pushViewController(vc, animated: true)
    }
Sorunun çözümü hakkında bilgisi olan arkadaşlar yardımcı olursa sevinirim.
Herkese iyi çalışmalar.