मैं सर्चबार टेक्स्ट के समान शीर्षक वाले केवल कक्षों को प्रदर्शित करने का प्रयास कर रहा हूं। मैंने सोचा था कि मेरे पास कुछ मेथोड हैं, लेकिन उनमें से कोई भी काम नहीं कर रहा है।

विधि 1:

func Search() {
    Aanbiedingen_bieren_Filter = Aanbiedingen_bieren_Filter.filter {SearchBar.text!.lowercased() == $0.Title.lowercased() }
    tableView.reloadData()
}

मेथोड 2:

func Search() {
    for Json in Aanbiedingen_bieren_Filter {
          let Naam = Json.Title.lowercased()
          if SearchBar.text!.lowercased().contains(Naam) {
               Aanbiedingen_bieren_Filter.append(Json)
          }
     }
     tableView.reloadData
}

जब सर्चबार टेक्स्ट चेंज रन सर्च ()

func searchBarSearchButtonClicked(_ SearchBar: UISearchBar) {
    Search()
}

func searchBar(_ SearchBar: UISearchBar, textDidChange searchText: String) {
    Search()
}

संरचना:

struct SheetJS: Codable {
    var SheetJS: [Aanbiedingen_bier]

    init(SheetJS: [Aanbiedingen_bier]) {
        self.SheetJS = SheetJS
    }
}

struct Aanbiedingen_bier: Codable {
    let Title: String

    init(Title: String) {
        self.Title = Title     
    }
}

जेसन:

"SheetJS": [
    {
      "Logo_Image": "Grolsch Premium Pilsener"
     },//Some more data
  ]

जब मैं इस कोड को चलाता हूं तो यह मुझे एक खाली Aanbiedingen_bier_Filter वापस देगा। मुझे यकीन नहीं है कि ऐसा क्यों है।

0
Dani010 29 जुलाई 2019, 20:49

1 उत्तर

सबसे बढ़िया उत्तर

आपका कोई भी परीक्षण वह नहीं है जो आप चाहते हैं:

SearchBar.text!.lowercased().contains(Naam)

SearchBar.text!.lowercased() == $0.Title.lowercased

आप जो जानना चाहते हैं, वह यह है कि क्या शीर्षक में खोज पाठ है, न कि इसके विपरीत या क्या वे समान हैं (बहुत ही असंभव)।

0
matt 29 जुलाई 2019, 21:00