2017-05-26 2 views
1

Ich habe tableview mit Array und einem Textfeld erstellt. Bei der Textbearbeitung werden Tabellenansichtsdaten sortiert und nach Textfeldeingabe gefiltert. Wenn die Tabellenansicht Daten über Zustände enthält, Wenn ich 'A' in das Textfeld eingabe, werden alle Tabellenansichtsdaten sortiert und alle Zustandsnamen werden angezeigt, beginnend mit dem Alphabet 'A'. Bitte sagen Sie mir Logik dafür.So filtern Sie Tabellenansichtsdaten bei der Bearbeitung von Textfeldern - IOS

+0

Sie Hilfe von Prädikat nehmen können das Ergebnis herausgefiltert wird und dann Tabelle neu zu laden. NB: Halten Sie zwei Array eins wird alle Daten enthalten, andere werden gefilterte Daten aus dem ersten Array enthalten. Ich hoffe es hilft – Janmenjaya

Antwort

0

Mein Vorschlag ist zu verwenden UISearchController, die viele Funktionen hat und was Sie jetzt fragen, ist so einfach, wenn Sie dies verwenden. Also bitte gehen Sie für UISearchController.

UISearchController tutorial wird für Sie hilfreich sein.

0

Dieses Youtube-Video: https://www.youtube.com/watch?v=MgNRMcCWJhU&list=PLt2cCXacqzgfUAjHYnZ9rrPkih4NzAV4E&index=25

und Website-Link kann Ihr Problem lösen.
http://www.appcoda.com/custom-search-bar-tutorial/

Sie müssen nur die Tabelle neu laden und Code während der Bearbeitung eingeben.

Zum Beispiel:

func searchBarTextDidBeginEditing(searchBar: UISearchBar) { 
    shouldShowSearchResults = true 
    tblSearchResults.reloadData() 
} 



func updateSearchResultsForSearchController(searchController: UISearchController) { 
    let searchString = searchController.searchBar.text 

    // Filter the data array and get only those countries that match the search text. 
    filteredArray = dataArray.filter({ (country) -> Bool in 
     let countryText: NSString = country 

     return (countryText.rangeOfString(searchString, options: NSStringCompareOptions.CaseInsensitiveSearch).location) != NSNotFound 
    }) 

    // Reload the tableview. 
    tblSearchResults.reloadData() 
} 
Verwandte Themen