2016-09-29 4 views
0

Ich bin eine Teilzeichenfolge in meinem Vorschlag Array, um ein Autocomplete-Textfeld zu machen.Suche nach einem Teilstring in String in Swift funktioniert nicht

func searchAutocompleteEntriesWithSubstring(substring: String) 
{ 
    autocompleteUrls.removeAll(keepCapacity: false) 

    for curString in countries 
    { 
     let myString:NSString! = curString as NSString 

     let substringRange :NSRange! = myString.rangeOfString(substring) 

     if (substringRange.location == 0) 
     { 
      autocompleteUrls.append(curString) 
     } 
    } 

    autocompleteTableView.reloadData() 

} 

Aber wenn das Land, das ich Indien bin auf der Suche ist und ich von „ndia“ Suche beginnen, es ist nicht die Vorschläge bekommen, sollte es das auch bekommen.

+0

Mögliche Duplikat [? Wie kann ich überprüfen, ob eine Zeichenkette eine andere Zeichenfolge in Swift enthält] (http://stackoverflow.com/questions/24034043/how-do-i -check-if-a-string-contains-another-string-in-swift) –

+1

Denken Sie darüber nach: Wann ist 'if (substringRange.location == 0)' wahr? –

+0

Haben Sie tatsächlich Fragen gelesen oder einfach Antworten gegeben? Bitte lesen Sie meine genauen Anforderungen noch einmal. Ich möchte genau Zeichen weise .... Wenn ich "dia" Suche starten, sollte das Suchergebnis auch INDIA – Saty

Antwort

3

Verwendung Prädikat statt:

let countries = ["india", "japan", "Indonesia", "bangladesh", "Australia"]; 

let predicate = NSPredicate(format: "SELF contains[c] %@", "ndia") 

let autocompleteUrls = countries.filter { predicate.evaluateWithObject($0) } 

print(autocompleteUrls) // output: ["india"] 
+0

Great Answer Now !!! !!! – Saty

Verwandte Themen